linqなど既存のマイクロソフトなどが作った既存の関数についていくつか疑問があります。例えば↓のコード
C#
1var list = List<string>{ 2 3"tokyo", "hiroshima","osaka" 4 5} 6var exists = list.Exists(s => s[0] == 'A'); 7Console.WriteLiner(exists);
これですが、listから先頭の文字がAで始まる文字列を探しなかった場合はfalseを返すのですがこのExistsメソッドはまずlistにあるstring型の配列をすべて抽出し、抽出したstringをPredicate<t>にデリゲードで渡した引数sにそのsの先頭文字Aと合致するものを取り出すと推測しました。
しかし毎回マイクロソフト側が定義しためそっどを理解することは困難だと思います。
このあらかじめ用意されているlinqやSystemといった名前空間にあるメソッドの中身を見ることはできないのでしょうか?
また、このようなメソッドはすでにバイナリ化?されていると聞きましたがそれを解読する方法などあるのでしょうか?
またstrng型のs = "aaa"でs[0]はcharの'a'が帰ってくるのはなぜなのでしょう?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。