关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我们可以使用其中任何一个(包括List、ArrayList、Dictionary、Hashtable、Stack、Queue)来保存值或保存对其他对象作为集合的引用。但是,我的问题是什么时候使用哪个?
我在C#中有以下代码DictionarydObject=newDictionary();我要转换dObject至Dictionary.我该怎么做? 最佳答案 使用ToDictionary方法:DictionarydString=dObject.ToDictionary(k=>k.Key,k=>k.Value.ToString());在这里,您重用了原始字典中的键,并使用ToString方法将值转换为字符串。如果您的字典可以包含空值,您应该在执行ToString之前添加一个空值检查:DictionarydString=dObject.
我在C#中有以下代码DictionarydObject=newDictionary();我要转换dObject至Dictionary.我该怎么做? 最佳答案 使用ToDictionary方法:DictionarydString=dObject.ToDictionary(k=>k.Key,k=>k.Value.ToString());在这里,您重用了原始字典中的键,并使用ToString方法将值转换为字符串。如果您的字典可以包含空值,您应该在执行ToString之前添加一个空值检查:DictionarydString=dObject.
显然,您不能将null用作键,即使您的键是可为null的类型也是如此。这段代码:varnullableBoolLabels=newSystem.Collections.Generic.Dictionary{{true,"Yes"},{false,"No"},{null,"(n/a)"}};...导致此异常:Valuecannotbenull.Parametername:keyDescription:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktracef
显然,您不能将null用作键,即使您的键是可为null的类型也是如此。这段代码:varnullableBoolLabels=newSystem.Collections.Generic.Dictionary{{true,"Yes"},{false,"No"},{null,"(n/a)"}};...导致此异常:Valuecannotbenull.Parametername:keyDescription:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktracef
这个问题在这里已经有了答案:DifferentwaysofaddingtoDictionary(8个答案)关闭8年前。Dictionary.Add方法和索引器Dictionary[key]=value有什么区别?
这个问题在这里已经有了答案:DifferentwaysofaddingtoDictionary(8个答案)关闭8年前。Dictionary.Add方法和索引器Dictionary[key]=value有什么区别?
提示:解决问题,把“//noinspectionExpiredTargetSdkVersion”放在targetSdkVersionxx上边,一会儿红波浪线不见了
我尝试检查null但编译器警告说这种情况永远不会发生。我应该寻找什么? 最佳答案 假设您希望在键确实存在时获取值,请使用Dictionary.TryGetValue:intvalue;if(dictionary.TryGetValue(key,outvalue)){//Keywasindictionary;"value"containscorrespondingvalue}else{//Keywasn'tindictionary;"value"isnow0}(使用ContainsKey然后索引器让它查找键两次,这是毫无意义的。)请注
我尝试检查null但编译器警告说这种情况永远不会发生。我应该寻找什么? 最佳答案 假设您希望在键确实存在时获取值,请使用Dictionary.TryGetValue:intvalue;if(dictionary.TryGetValue(key,outvalue)){//Keywasindictionary;"value"containscorrespondingvalue}else{//Keywasn'tindictionary;"value"isnow0}(使用ContainsKey然后索引器让它查找键两次,这是毫无意义的。)请注