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 << 여기 참조해서 코드 짠거에요
해결완료
형님 저는 해결이 안됬습니다 ㅠ
코드가 길긴한데 핵심은 저 키값의 오름차순이나 내림차순으로 정렬해서 데이터를 관리하고 싶은거에용