相关疑难解决方法(0)


是否有Linq方法将单个项添加到IEnumerable <T>?

基本上我想尝试做这样的事情:

image.Layers
Run Code Online (Sandbox Code Playgroud)

除了图层之外的所有图层都返回IEnumerable Parent,但在某些情况下,我只想这样做:

image.Layers.With(image.ParentLayer);
Run Code Online (Sandbox Code Playgroud)

因为它只在少数几个地方使用,相比之下,通常使用的100s image.Layers.这就是为什么我不想创建另一个也返回Parent图层的属性.

.net c# ienumerable

54
推荐指数
7
解决办法
2万
查看次数

System.Guid.NewGuid()是如何随机的?

我知道这可能听起来像一个毫无意义的问题,但是听我说...

我基本上想知道我是否可以信任GUID来生成一个在100%的时间内都是唯一且无法预测的值.

我基本上是在网站的登录系统上滚动,并想知道GUID是否足够安全用于会话cookie.

在评估答案时,将非常感谢有关如何生成GUID的任何背景知识.

感谢您提供重复问题的链接,但我的问题仅针对.Net框架.

.net random guid

48
推荐指数
3
解决办法
3万
查看次数

获得随机子集合的最佳LINQ查询 - Shuffle

请建议一种最简单的方法,从具有'N'项的集合中获取计数'n'的随机混洗集合.其中n <= N

c# linq ienumerable observablecollection

44
推荐指数
4
解决办法
2万
查看次数

如何确保序列具有一定的长度?

我要检查一个IEnumerable包含正好一个元素.这个片段确实有效:

bool hasOneElement = seq.Count() == 1
Run Code Online (Sandbox Code Playgroud)

然而,它并不是非常有效,因为Count()它将枚举整个列表.显然,知道列表是空的或包含多于1个元素意味着它不是空的.是否存在具有此短路行为的扩展方法?

c# linq extension-methods

22
推荐指数
2
解决办法
1228
查看次数

序列化和Yield语句

是否可以序列化包含yield语句的方法(或包含此类方法的类),以便在对类进行重新水化时,保留生成的迭代器的内部状态?

.net c# continuations yield yield-return

16
推荐指数
2
解决办法
1810
查看次数

将单个项添加到可枚举

是否有更优雅的解决方案将项目添加到IEnumerable而不是这个

myNewIEnumerable = myIEnumerable.Concat ( Enumerable.Repeat (item, 1) );
Run Code Online (Sandbox Code Playgroud)

一些背景:

public void printStrings (IEnumerable<string> myStrings) {
   Console.WriteLine ("The beginning.");
   foreach (var s in myStrings) Console.WriteLine (s);
   Console.WriteLine ("The end.");
}

...

var result = someMethodDeliveringAnIEnumerableOfStrings ();
printStrings (result.Concat ( Enumerable.Repeat ("finished", 1) ) );
Run Code Online (Sandbox Code Playgroud)

c# linq

5
推荐指数
2
解决办法
224
查看次数