Tag: ienumerable

genericsNOT约束在T:!IEnumerable

按照标题,是否有可能在c#4中声明types – 否定约束?

我应该返回一个IEnumerable或IList?

我希望从方法中返回一个有序的项目列表。 我的返回types应该是IEnumerable还是IList?

将DataTable转换为IEnumerable <T>

我想将一个DataTable转换为IEnumerable。 其中T是我创build的自定义types。 我知道我可以通过创build一个列表来做到这一点,但我认为有一种使用IEnumerable的方法。 这是我现在拥有的。 private IEnumerable<TankReading> ConvertToTankReadings(DataTable dataTable) { var tankReadings = new List<TankReading>(); foreach (DataRow row in dataTable.Rows) { var tankReading = new TankReading { TankReadingsID = Convert.ToInt32(row["TRReadingsID"]), TankID = Convert.ToInt32(row["TankID"]), ReadingDateTime = Convert.ToDateTime(row["ReadingDateTime"]), ReadingFeet = Convert.ToInt32(row["ReadingFeet"]), ReadingInches = Convert.ToInt32(row["ReadingInches"]), MaterialNumber = row["MaterialNumber"].ToString(), EnteredBy = row["EnteredBy"].ToString(), ReadingPounds = Convert.ToDecimal(row["ReadingPounds"]), MaterialID = Convert.ToInt32(row["MaterialID"]), Submitted = […]

是否有一个Linq方法添加一个单一的项目的IEnumerable <T>?

基本上我正在尝试做这样的事情: image.Layers 它会为除Parent层以外的所有图层返回一个IEnumerable,但在某些情况下,我只想做: image.Layers.With(image.ParentLayer); 因为它只是在几个地方使用,相比之下, image.Layers满意的通常使用的100年代。 这就是为什么我不想让另一个也返回Parent层的属性。

为什么.net中的数组只能实现IEnumerable而不是IEnumerable <T>?

我正在实现自己的ArrayList类,当我意识到这一点时,感到很惊讶 public System.Collections.Generic.IEnumerator<T> GetEnumerator() { return _array.GetEnumerator(); } 没有工作。 什么原因数组不在IE中实现IEnumerator? 有没有解决办法? 谢谢

为什么IEnumerable <T>在C#4中是协变的?

在早期版本的C# IEnumerable中定义如下: public interface IEnumerable<T> : IEnumerable 由于C#4的定义是: public interface IEnumerable<out T> : IEnumerable 只是为了让LINQexpression式中的恼人的表演消失吗? 这不会像C#中的string[] <: object[] (破坏数组方差)一样引入相同的问题吗? 从兼容性的angular度来看,如何增加协变? 早期的代码仍然可以在更高版本的.NET上工作,或者在这里重新编译吗? 那反过来呢? 之前的代码是否使用这个接口在所有情况下都是严格不变的,或者现在某些用例可能会有所不同?

C#:如何使IEnumerable <T>线程安全?

说我有这个简单的方法: public IEnumerable<uint> GetNumbers() { uint n = 0; while(n < 100) yield return n++; } 你将如何使这个线程安全? 由此我的意思是你会得到一次枚举,并有多个线程处理所有的数字,没有任何人得到重复。 我认为一个锁需要用在某个地方,但是这个锁必须在哪里才能使迭代器块成为线程安全的呢? 什么,一般来说,你需要记住,如果你想要一个线程安全的IEnumerable<T> ? 或者,而是我想这将是一个线程安全的IEnumerator<T> …?

IEnumerable和IEnumerable <T>之间的区别?

IEnumerable和IEnumerable<T>什么区别? 我见过很多实现这两个接口的框架类,所以我想知道通过实现这两个接口有什么好处? 请看看他们是如何定义的: public interface IEnumerable { [DispId(-4)] IEnumerator GetEnumerator(); } public interface IEnumerable<T> : IEnumerable { IEnumerator<T> GetEnumerator(); } 正如我们所看到的, IEnumerable<T>从IEnumerable派生,这意味着无论IEnumerable具有什么, IEnumerable<T>inheritance,那么为什么我们要实现而不仅仅是IEnumerable<T>呢? 正在实现IEnumerable<T>不够? 同样,还有其他类似的配对: IList和IList<T> ICollection和ICollection<T> 我也想知道这些。

JavaScript / jQuery相当于LINQ Any()

在JavaScript或jQuery中是否有相当于IEnumerable.Any(Predicate<T>) ? 我正在validation项目列表,并希望如果检测到错误提前中断。 我可以使用$.each ,但是我需要使用一个外部标志来查看是否真的find了这个项目: var found = false; $.each(array, function(i) { if (notValid(array[i])) { found = true; } return !found; }); 什么是更好的方法? 我不喜欢在JavaScript数组中使用plain for因为它遍历所有成员,而不仅仅是值。

计算IEnumerable的计数(非通用)

任何人都可以帮助我IEnumerable Count扩展方法(非通用接口)。 我知道这不是在LINQ支持,但如何手动写入?