Dictionary item_codedic = new Dictionary();
Dictionary item_namedic = new Dictionary();

struct Str
{
public int[] number;
public int code;
public string name;
public int sum;
}

Str[] strs;

void Str_Setting()
{
int size = 2;
strs = new Str[size];


strs[0].number = new int[3];
strs[0].code = 10;
strs[0].name = "default";
strs[0].number[0] = 1;
strs[0].number[1] = 2;
strs[0].number[2] = 3;


strs[1].number = new int[3];
strs[1].code = 20;
strs[1].name = "abs";
strs[1].number[0] = 2;
strs[1].number[1] = 4;
strs[1].number[2] = 5;

for (int i = 0; i {
strs[i].sum = Sum(strs[i].number);
item_codedic.Add(strs[i].code, strs[i]);
item_namedic.Add(strs[i].name, strs[i]);


}

item_codedic.Add(15, new Str());



Sort_dir();

}


int Sum(int[] _number)
{
int result = 0;

for(int i = 0; i < _number.Length; i++)
{
result += _number[i];
}

return result;
}


void Sort_dir()
{
var rank_desc = item_codedic.OrderByDescending(num => num.Value); // OrderByDescending 이 Linq지시문의 함수인건 알겠는데, (num => num.Value) << 이 부분이 이해가 안됨. 뭘 뜻하는지 num 이란 변수는 선언도 안했는데 왜 나오는건지.. 그리고 value는 무엇인지  "=>" 이것도 잘모르겟어용

 
var rank_asc = item_codedic.OrderBy(num => num.Value);

foreach(KeyValuePair tt in item_codedic) // 정상출력 10, 20 , 15
{
Debug.Log(tt.Key);
}

foreach (var r in rank_desc) //오류 예상값 20, 15, 10
{
Debug.Log(r.Key);
}

foreach (var r in rank_asc) // 오류 예상값 10, 15, 20
{
Debug.Log(r.Key);
}


}


void Start()
{
Str_Setting();
}



Sort_dir() 함수 부분에서 주석단 부분이 이해가 안되는데 왜 저렇게 값을 넣는지랑


foreach 2,3 번째에서 왜 오류가 뜨는걸까염..


https://mongyang.tistory.com/108 << 여기 참조해서 코드 짠거에요