public class CMultyDictionary<TKey, TValue>
{
ย ย Dictionary<TKey, List<TValue>> dictionary;
ย ย public CMultyDictionary()
ย ย {
ย ย ย ย dictionary = new Dictionary<TKey, List<TValue>>();
ย ย }
ย ย public List<TValue> this[TKey key]
ย ย {
ย ย ย ย get
ย ย ย ย {
ย ย ย ย ย ย List<TValue> list;
ย ย ย ย ย ย if (dictionary.TryGetValue(key, out list))
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย return list;
ย ย ย ย ย ย }
ย ย ย ย ย ย else
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย return new List<TValue>();
ย ย ย ย ย ย }
ย ย ย ย }
ย ย }
}
์ฌ๊ธฐ ๋ถ๋ถ์ธ ์ดํด๊ฐ ์๋จ ์ด๊ฒ๋ thisย ํ๋กํผํฐ์ธ๊ฐ ์๋๊ฐ๋ ์ ๋ชจ๋ฅด๊ฒ ์
this๋ class๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฑฐ ์๋๊ฐ?
๋ญ๋ก ๊ฒ์ํด๋ณด๋ฉด ์ข ์์ธํ๊ฒ ๋์ฌ๊น? ์๋ ์ข ์๋ ค์ค์ฌ๋
์ฐพ์๋ค ์น๊ตฌ๋ค์ ๊ถ๊ธํ๋ฉด ํ๋ฒ ๋ด
https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.generic.dictionary-2.item?view=netcore-3.1
์์ง ์ ํํ ์ฉ์ด๋ ๋ชป์ฐพ์๋ค
https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/indexers/
์ธ๋ฑ์ ๋ฌธ๋ฒ์
ใณใณ
๊ทธ๋ฆฌ๊ณ ์ ํํ ํ๋ฉด this ๋ ํด๋์ค๊ฐ ์๋๊ณ ํ์ฌ ํด๋น ํด๋์ค์ ๊ฐ์ฒด์
https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/this
์ด๊ฑฐ ๋ณด๋ฉด this ์ฌ์ฉ๋ฒ๋ ๋์ถฉ ์ดํด ๋ ๊ฑฐ์
๊ตฌ๊ธ๋ง๋ณด๋ค ์ฌ๊ธฐ์ ์ฐพ๋๊ฒ ๋ ์ข๊ธด ํ๋ค ๊ฐ์ฌ์ฉ
์ธ๋ฑ์ ๊ฒ์
์ฌ์ค ์ธ๋ฑ์ ์์ต์ ์ฒดํตํ์ด์ ์์ฐ์ง๋์๋ ๋ฌธ๋ฒ์ค ํ๋ ๋ชจ๋ฅด๋ฉดํจ์คํด๋๋จ