gpt4 book ai didi

c# List 通过键或索引获取值

转载 作者:行者123 更新时间:2023-11-30 18:15:04 25 4
gpt4 key购买 nike

<分区>

对于keyKeyValuePair,如何通过key获取value

我有一个 List<KeyValuePair<string, string>>

var dataList = new List<KeyValuePair<string, string>>();

// Adding data to the list
dataList.Add(new KeyValuePair<String, String>("name", "foo"));
dataList.Add(new KeyValuePair<String, String>("name", "bar"));
dataList.Add(new KeyValuePair<String, String>("age", "24"));

为该列表创建一个循环:

foreach (var item in dataList) {
string key = item.Key;
string value = item.Value;
}

我想做的是获得 string name = item["name"].Value在某种程度上是这样的:

foreach (var item in dataList) {
// Print the value of the key "name" only
Console.WriteLine(item["name"].Value);

// Print the value of the key "age" only
Console.WriteLine(item["age"].Value);
}

或者通过索引获取,如Console.WriteLine(item[0].Value)

我怎样才能做到这一点?

注意: 我只需要使用一个 foreach 而不是为每个键使用单独的 foreach。

编辑 1 如果我使用 if(item.Key == "name") { // do stuff }我将无法在那个 if 语句中使用其他键,所以我需要按照这个逻辑工作:

if(item.Key == "name") {
// Print out another key
Console.WriteLine(item["age"].Value)

// and that will not work because the if statment forced to be the key "name" only
}

编辑 2 我尝试使用 Dictionary 并向其中添加数据,例如:

dataList.Add("name", "john");
dataList.Add("name", "doe");
dataList.Add("age", "24");

上面写着An item with the same key has already been added.我想是因为我用同一个键添加多个项目 "name"我需要这样做。

编辑 3 我想要实现的目标 instead of how i try to do it :

我正在尝试遍历 List 并确定是否存在具有键 path 文件的项目,如下所示:

if(File.Exists(item["path"]) { Console.WriteLine(item["name"]) }

// More Explained

foreach (var item in dataList) {
if (File.Exists(//the key path here//)) {
MessageBox.Show("File //The key name here// exists.");
}else {
MessageBox.Show("File //The key name here// was not found.");
}
}

问题是我不能那样使用 item["path"] .. 我所能做的就是 item.Key & item.Value

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