作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想为变量 vStreamID
分配一个随机数。只要我的字典 md_StreamDict
包含生成的数字,这个数字就应该是新生成的。
长版:
vStreamID = (new Random()).Next(1000, 9999).ToString();
while (md_StreamDict.ContainsKey(vStreamID)) {
vStreamID = (new Random()).Next(1000, 9999).ToString();
}
我想看看 LINQ 风格的东西
md_StreamDict.ContainsKey(vStreamID)
.while( x => x = (new Random())
.Next(1000, 9999)
.ToString();
我知道上面的例子是香蕉。但如果有真正的方法来实现这一点,我会很高兴。不,我们不会再次开始关于可读性的常规讨论。 ;)
最佳答案
如果我没理解错你只需要一个众所周知范围内的数字并且这个数字不应该已经在字典中,所以在没有 Random
的情况下这样做:
Enumerable.Range(1000, 9999)
.Where(n => !dict.ContainsKey(n))
.FirstOrDefault();
关于c# - While 循环在 C# Linq 中赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14070396/
我是一名优秀的程序员,十分优秀!