- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用 foreach(KeyValuePair<string,List<int>> test in myDictionary)
遍历字典时,我知道如何在值是列表时从字典输出键和值,但如果我必须使用不同类型的循环,如下例所示,我不确定如何正确获取值。
我正在遍历一个列表,但使用的是字典,因为我是按字母顺序排序的。我知道还有其他方法可以做到这一点,这不是我的问题。
因此,我尝试根据键按字母顺序输出键及其值。
string string1 = "A_list1";
List<int> list1 = new List<int> { 1, 2, 3 };
string string2 = "B_list2";
List<int> list2 = new List<int> { 4, 5, 7 };
string string3 = "C_list3";
List<int> list3 = new List<int> { 8, 9, 10 };
Dictionary<String, List<int>> myDictionary = new Dictionary<string, List<int>>();
myDictionary.Add(string2, list1);
myDictionary.Add(string1, list2);
myDictionary.Add(string3, list3);
var sortedAlphabeticallyMyDictionary = myDictionary.Keys.ToList();
sortedAlphabeticallyMyDictionary.Sort();
foreach (string myString in sortedAlphabeticallyMyDictionary)
{
MessageBox.Show("Key: " + myString + "\n" + "Value: " + myDictionary[myString] );
}
输出
Key: A_list1
Value: System.Collections.Generic.List`1[System.Int32]
Key: B_list2
Value: System.Collections.Generic.List`1[System.Int32]
Key: C_list3
Value: System.Collections.Generic.List`1[System.Int32]
输出是有道理的,因为如果你有一个包含列表的字典,你必须作为一个 KeyValuePair 进行迭代才能得到实际的列表,但我是一个 super C# 菜鸟,并不确定如何在这种情况下正确获取列表。
感谢任何帮助。
最佳答案
您可以转换 List<int>
以这种方式表示字符串:
var list = new List<int> { 1, 2, 3 };
MessageBox.Show(string.Join(",", list.Select(x => x.ToString())));
所以你可以使用这段代码:
foreach (string myString in sortedAlphabeticallyMyDictionary)
{
MessageBox.Show(string.Format("Key: {0} \n Value: {1}" , myString,
string.Join(",", myDictionary[myString].Select(x => x.ToString()))) );
}
不要忘记添加 using System.Linq;
关于c# - 遍历 KeyValuePair 以外的内容时如何输出字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34079393/
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!