C# 如何使用linQ阅读字典中的行
好的,我得到了下面的代码,但它不工作 我希望行是键,值是0 c#4.5C# 如何使用linQ阅读字典中的行,c#,linq,dictionary,C#,Linq,Dictionary,好的,我得到了下面的代码,但它不工作 我希望行是键,值是0 c#4.5 ConcurrentDicFailedProxies= 新的ConcurrentDictionary(); dicFailedProxies=File.ReadAllLines(“failed_proxies.txt”) .Select(line=>line).Distinct() .ToDictionary(值=>值,0); 问题是需要为ToDictionary的第二个参数提供lambda表达式ToDictionary还
ConcurrentDicFailedProxies=
新的ConcurrentDictionary();
dicFailedProxies=File.ReadAllLines(“failed_proxies.txt”)
.Select(line=>line).Distinct()
.ToDictionary(值=>值,0);
问题是需要为
ToDictionary
的第二个参数提供lambda表达式ToDictionary
还返回一个字典
,因此您将无法将其分配给ConcurrentDictionary
的实例
这应该可以做到:
var dicFailedProxies =
File.ReadLines("failed_proxies.txt")
.Distinct()
.ToDictionary(line => line, line => 0);
当然,如果您想将其保留为ConcurrentDictionary
,可以执行以下操作:
var dicFailedProxies = new ConcurrentDictionary<string, int>(
File.ReadLines("failed_proxies.txt")
.Distinct()
.ToDictionary(line => line, line => 0));
var dicFailedProxies=新的ConcurrentDictionary(
ReadLines(“failed_proxies.txt”)
.Distinct()
.ToDictionary(line=>line,line=>0));
-1表示“它不工作”-为那些想知道error@MonsterMMORPG请输入错误的文本,而不是其文本的屏幕截图。如果每个值都是0,为什么要将其设置为字典?@valverij,我假设以后可以对该值进行操作。确实不需要进行Select
转换,没有?@Tejas是正确的;它什么也做不了。嘿,是的,它更多的是一个反问句。我会在p.s.w.编辑掉它。g@Tejas说得好。谢谢我知道不可能指定concurrentdictionary谢谢
var dicFailedProxies = new ConcurrentDictionary<string, int>(
File.ReadLines("failed_proxies.txt")
.Distinct()
.ToDictionary(line => line, line => 0));