将键/值对添加到字典中

Joh*_*aum 8 c#

我正在使用字典存储一些键值对,并对填充字典的最佳方法有疑问.我需要做一些其他操作才能找到并将我的键值对添加到我的字典中.在那些操作之后,我可能已经找到了要添加到字典中的键/值,或者我找不到任何内容.我的问题是我应该如何填充字典.我应该使用一个函数来返回一个键值对,如果找到,否则一个空的一个包含在dictionary.Add(function())调用?我不想在字典中添加空键/值对,所以我不确定该函数的返回调用是如何工作的.或者我应该将字典传递给函数并在需要时添加它?喜欢

function(dictionary) 
{ if (pair found) {dictionary.add(pair)}}
Run Code Online (Sandbox Code Playgroud)

Sha*_*ard 16

不知道你在这里问的是什么,但这里是我如何处理字典以根据键添加或更新值:

string key = "some key here";
string value = "your value";
if (myDict.ContainsKey(key))
{
    myDict[key] = value;
}
else
{
    myDict.Add(key, value);
}
Run Code Online (Sandbox Code Playgroud)

如果您愿意,可以将其包装在方法中:

void AddOrUpdate(Dictionary<string, string> dict, string key, string value)
{
    if (dict.ContainsKey(key))
    {
        dict[key] = value;
    }
    else
    {
        dict.Add(key, value);
    }
}

//usage:
AddOrUpdate(myDict, "some key here", "your value");
Run Code Online (Sandbox Code Playgroud)

您也可以使用该TryGetValue方法,但在此中看不到任何明显的优势.

  • 也许我错过了什么,但是dict [key] = value要么添加或更新值(set调用"private void Insert(TKey key,TValue value,bool add)"). (2认同)