我正在使用.NET 3.5。 我有两个string数组,可能共享一个或多个值: string[] list1 = new string[] { "apple", "orange", "banana" }; string[] list2 = new string[] { "banana", "pear", "grape" }; 我想要一种方法将它们合并成一个没有重复值的数组: { "apple", "orange", "banana", "pear", "grape" } 我可以用LINQ来做到这一点: string[] result = list1.Concat(list2).Distinct().ToArray(); 但我想这对于大型数组来说效率不高。 有没有更好的办法?
我只是有这样一个想法,我希望能够使用: 比方说,我必须修复一个bug,然后决定编写一个丑陋的代码行来解决眼前的问题 – 但这只是因为我向自己保证,我很快就会find时间来执行正确的重构。 我希望能够以某种方式将该代码行标记为“Expired in”并添加一个date – 以便如果代码在该date后编译一段时间,则会出现编译错误/警告并显示正确的消息。 有什么build议么? 它必须能够执行 – 也许使用一些复杂的#IF或在Visual Studio中的一些选项? 我正在使用VS 2005 – 主要用于C#。 谢谢! [编辑]:哇 – 从来没有预料到这个问题,以提高这么多的兴趣:)谢谢大家的答案,并把它变成一个有趣的辩论。 我知道使用这样的东西是很困难的 – 我可能不会使用它 – 但是有时候,当你必须发布一个版本的YESTERDAY,而你发现自己在一个修补程序上妥协 – 而你想强迫自己修复它在不远的将来。 我select了MartinStettner的build议作为答案,因为它满足了我的需求 – 在运行时没有错误 – 只在编译期间,不需要为此目标定义新types – 并且不限于整个方法的范围。 干杯!
可能重复: ASP.net得到下一个星期二 考虑到这个月的某一天,我怎么能从那一天获得下一个星期天? 所以如果我在2011年9月13日星期二通过,它将于9月18日返回。
这个问题似乎已经解决,甚至被打死了。 聪明的人在这个问题上说了很多聪明的事情 。 要成为一个非常好的程序员, 你需要知道C. 或者你呢? 这周我开了两次。 第一个让我意识到,我的假设并不比我背后的知识更进一步,考虑到我的机器上运行的软件的复杂性,这几乎是不存在的。 但真正把它带回家的是这个Slashdot的评论 : 最终的结果是,我注意到传统的C“裸机”程序员认为实现高级语言的许多天真的方式。 他们在他们影响的项目中做出了不好的“优化”决定,因为他们不知道编译器是如何工作的,或者他们所了解的天真的macros汇编器模型与良好的运行时系统有多大的不同。 然后它打击我:C只是一个抽象 ,像所有其他人一样。 即使CPU本身只是一个抽象! 我从来没有看到过这个问题,因为我没有工具去衡量它。 我很困惑。 Dijkstra对BASIC的评论是否让我的思想残缺不堪? 我是否处于不成熟的优化状态? 有没有希望我,现在我意识到我什么都不知道? 有什么可以知道的,甚至? 那么为什么这么迷人,我过去五年写的所有内容都可能是根本错误的? 总结一下:在知道API文档告诉我的时候有什么价值吗? 编辑:CW。 当然这也意味着现在你必须发布解释器/运行时优化的例子比我们更好:)
我有一个List集合中的整数值的集合。 我想为集合中的每个值调用一个函数,其中一个函数的参数是一个集合值。 没有在foreach循环中做这个…有没有办法用lambda / linqexpression式来实现呢? 像… myList.Where(p => myFunc(p.Value)); ? 在此先感谢,-s
我想把整数翻倍到int。 例如, double a=0.4, b=0.5; 我想把它们都改为整数。 以便 int aa=0, bb=1; aa是从a和bb是从b 。 任何公式要做到这一点?
可能重复: 在.NET 4中将C#对象转换为JSONstring 在Java中,我有一个代码将Java对象转换为JSONstring。 在C#中如何做类似? 我应该使用哪个JSON库? 谢谢。 JAVA代码 import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class ReturnData { int total; List<ExceptionReport> exceptionReportList; public String getJSon(){ JSONObject json = new JSONObject(); json.put("totalCount", total); JSONArray jsonArray = new JSONArray(); for(ExceptionReport report : exceptionReportList){ JSONObject jsonTmp = new JSONObject(); jsonTmp.put("reportId", report.getReportId()); jsonTmp.put("message", report.getMessage()); jsonArray.add(jsonTmp); } json.put("reports", jsonArray); return json.toString(); } […]
.NET中内build的Math.Pow()函数将double Math.Pow()指数提升为double Math.Pow()并返回double Math.Pow()结果。 与整数相同的最好方法是什么? 补充:似乎只能将Math.Pow()结果转换为(int),但是这样总会产生正确的数字并且没有舍入错误?
class Address { int i ; char b; string c; public: void showMap ( void ) ; }; void Address :: showMap ( void ) { cout << "address of int :" << &i << endl ; cout << "address of char :" << &b << endl ; cout << "address of string :" << […]
如果开始date为2009年1月1日,并且结束date为2009年12月31日,那么我怎样才能遍历每个date并使用c#获取date时间值? 谢谢!