반응형
C #에서 Dictionary에 저장된 값을 업데이트하는 방법은 무엇입니까?
사전에서 특정 키의 값을 업데이트하는 방법은 Dictionary<string, int>
무엇입니까?
주어진 키에서 사전을 가리키고 새로운 값을 지정하십시오.
myDictionary[myKey] = myNewValue;
인덱스로 키에 액세스하면 가능합니다
예를 들면 다음과 같습니다.
Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary["test"] = 1;
dictionary["test"] += 1;
Console.WriteLine (dictionary["test"]); // will print 2
이 접근법을 따를 수 있습니다 :
void addOrUpdate(Dictionary<int, int> dic, int key, int newValue)
{
int val;
if (dic.TryGetValue(key, out val))
{
// yay, value exists!
dic[key] = val + newValue;
}
else
{
// darn, lets add the value
dic.Add(key, newValue);
}
}
여기에 도달하는 가장자리는 사전에 대한 한 번의 액세스로 해당 키의 값을 확인하고 얻는 것입니다. ContainsKey
존재를 확인하고 를 사용 하여 값을 업데이트하는 데 사용 dic[key] = val + newValue;
하면 사전에 두 번 액세스합니다.
LINQ : Access를 사용하여 키 사전을 만들고 값을 변경하십시오.
Dictionary<string, int> dict = new Dictionary<string, int>();
dict = dict.ToDictionary(kvp => kvp.Key, kvp => kvp.Value + 1);
키가 foo[x] = 9
어디에 x
있고 9가 값인 것처럼 인덱스로 업데이트하는 방법은 다음과 같습니다.
var views = new Dictionary<string, bool>();
foreach (var g in grantMasks)
{
string m = g.ToString();
for (int i = 0; i <= m.Length; i++)
{
views[views.ElementAt(i).Key] = m[i].Equals('1') ? true : false;
}
}
이것은 당신을 위해 일할 수 있습니다 :
시나리오 1 : 기본 유형
string keyToMatchInDict = "x";
int newValToAdd = 1;
Dictionary<string,int> dictToUpdate = new Dictionary<string,int>{"x",1};
if(!dictToUpdate.ContainsKey(keyToMatchInDict))
dictToUpdate.Add(keyToMatchInDict ,newValToAdd );
else
dictToUpdate[keyToMatchInDict] = newValToAdd; //or you can do operations such as ...dictToUpdate[keyToMatchInDict] += newValToAdd;
시나리오 2 : 값으로 목록에 사용한 접근 방식
int keyToMatch = 1;
AnyObject objInValueListToAdd = new AnyObject("something for the Ctor")
Dictionary<int,List<AnyObject> dictToUpdate = new Dictionary<int,List<AnyObject>(); //imagine this dict got initialized before with valid Keys and Values...
if(!dictToUpdate.ContainsKey(keyToMatch))
dictToUpdate.Add(keyToMatch,new List<AnyObject>{objInValueListToAdd});
else
dictToUpdate[keyToMatch] = objInValueListToAdd;
도움이 필요한 사람에게 유용하기를 바랍니다.
참고 URL : https://stackoverflow.com/questions/1243717/how-to-update-the-value-stored-in-dictionary-in-c
반응형
'development' 카테고리의 다른 글
이진 형식으로 인쇄 할 printf 변환기가 있습니까? (0) | 2020.02.22 |
---|---|
matplotlib에서 x 또는 y 축의 "틱 주파수"를 변경 하시겠습니까? (0) | 2020.02.22 |
입력 유형 = "텍스트"에서 입력시 변경 사항을 추적하는 가장 좋은 방법은 무엇입니까? (0) | 2020.02.22 |
왜 파이썬은 for 및 while 루프 후에 'else'를 사용합니까? (0) | 2020.02.21 |
Android 활동 수명주기-이 모든 방법은 무엇입니까? (0) | 2020.02.21 |