여기에 사전에 값을 업데이트하는 방법의 예를 보여주는 코드 조각이 있습니다. 이것이 스레드 안전하다고 확신하지 않기 때문에 이것이 최선의 방법이라고 생각하지 않습니다.사전을 사용하는 올바른 방법
편집 : 그냥 POC 코드입니다. 키를 배열에 복사 한 다음 사전에 내용을 저장하는 것입니다. 내 고용주 코드는 여기에 게시 할 수 없으므로 지적 해보기를했습니다.
키 배열을 가져 오면 코드의 일부 다른 부분에서 사전 참조를 사용하고 일부 키가 추가 될 수 있으며 이러한 함수는 일부 키를 복사했기 때문에 모든 키를 업데이트하지 않습니다 시간. 내가 서브 클래 싱하거나 어쩌면 사전을 감싸고 잠금 장치로 작업을 수행해야합니까? 아니면 더 간단한 방법이 있습니까?
올바른 방법으로 값을 업데이트해야합니까? 당신이 .NET 4에서 스레드 안전 사전을 원하는 경우에
static void Main(string[] args)
{
Dictionary<string, int> dic = new Dictionary<string, int>();
dic.Add("Kej1",0);
dic.Add("Kej2",1);
dic.Add("Kej3", 3);
dic.Add("Kej4", 3);
String[] arr = new string[dic.Count] ;
dic.Keys.CopyTo(arr,0);
foreach (var va in arr)
{
Console.WriteLine(dic[va] + " " + va);
dic[va] = 10;
Console.WriteLine(dic[va] + " " + va);
}
Console.ReadKey();
}
이 예제가 보여줄 것으로 예상되는 정보가 없습니다. 여러 개의 스레드를 언급했지만 예제에는 아무 것도 없습니다. 귀하의 질문에 단어를 다시 써보십시오. – Jon
이것은 콘솔 응용 프로그램처럼 보입니다. 코드에 다중 스레드가 없습니다. – Aphelion
@ 존 설명을 업데이트했습니다. 그냥 POC 코드 일뿐입니다. 일부 상상력은 감상적 일 것입니다. 여기서는 "내 코드가 아닙니다"라고 게시 할 수 없습니다. – Mateusz