944得票6回答
C#有扩展属性吗?

C#是否具备扩展属性? 例如,我可以向DateTimeFormatInfo添加一个名为ShortDateLongTimeFormat的扩展属性,它将返回ShortDatePattern + " " + LongTimePattern吗?

833得票20回答
使用lambda的Distinct()函数?

好的,所以我有一个可枚举对象,希望从中获取不同的值。 使用System.Linq,当然有一个名为Distinct的扩展方法。在简单的情况下,可以像这样不带参数地使用: var distinctValues = myStringList.Distinct(); 很好,但是如果我有一个对象...

713得票11回答
哪种方法表现更佳:.Any() vs .Count() > 0?

在 System.Linq 命名空间中,我们现在可以扩展 IEnumerable 以拥有 Any() 和 Count() 的扩展方法。 最近我被告知,如果我想检查一个集合是否包含一个或多个项,我应该使用 .Any() 扩展方法而不是 .Count() > 0 扩展方法,因为 .Coun...

635得票18回答
我可以在现有的静态类中添加扩展方法吗?

我喜欢在C#中使用扩展方法,但是我尝试给静态类(比如Console)添加扩展方法时没有成功。 例如,如果我想要向Console添加一个名为'WriteBlueLine'的扩展方法,这样我就可以这样做:Console.WriteBlueLine("This text is blue&q...

478得票150回答
你最喜欢的C#扩展方法是什么?(codeplex.com/extensionoverflow)

让我们列出一份答案,其中您可以发布您卓越且最喜欢的扩展方法。 要求是必须发布完整代码,并提供示例以及如何使用它的解释。 基于对此主题的高度关注,我在Codeplex上建立了一个名为extensionoverflow的开源项目。 请标记您的答案以接受将代码放入Codeplex项目中。 请...

474得票21回答
为什么IEnumerable没有ForEach扩展方法?

受另一个关于缺少Zip函数的问题启发: 为什么IEnumerable接口上没有ForEach扩展方法,或者其他地方也没有呢?唯一拥有ForEach方法的类是List<>。是否有某些原因导致它缺失,比如性能问题?

397得票10回答
在C#中,当您在一个空对象上调用扩展方法时会发生什么?

这个方法被调用时,会传入一个 null 值吗?还是会抛出空引用异常?MyObject myObject = null; myObject.MyExtensionMethod(); // <-- is this a null reference exception? 如果是这种情况,我将永...

325得票6回答
使用LINQ一行代码将string[]转换为int[]

我有一个以字符串形式表示的整数数组:var arr = new string[] { "1", "2", "3", "4" }; 我需要一个“实际”的整数数组来进一步推进它。void Foo(int[] arr) { .. } 我尝试将int类型进行强制转换,但显然失败了:Foo(arr.Ca...

277得票11回答
扩展方法必须在一个非泛型静态类中定义。

我遇到了以下错误: 扩展方法必须在非泛型静态类中定义 出错的代码行为: public class LinqHelper 以下是助手类,基于Mark Gavell的代码。我真的很困惑这个错误是什么意思,因为我确信上周五离开时它是正常工作的! using System; using...

266得票8回答
使用Moq嘲笑扩展方法

我有一个现有的界面... public interface ISomeInterface { void SomeMethod(); } 我使用一个mixin扩展了这个接口... public static class SomeInterfaceExtensions { ...