gpt4 book ai didi

c# - While 循环在 C# Linq 中赋值

转载 作者:太空狗 更新时间:2023-10-30 00:03:14 24 4
gpt4 key购买 nike

我想为变量 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com