[過去ログ] ふらっと C#,C♯,C#(初心者用) Part153 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
654(1): デフォルトの名無しさん (アウアウウー Saa3-NE3x) [sage] 2022/01/15(土) 01:05:14.25 ID:mkRG7Oi7a(1/4) AAS
>>649649(3): デフォルトの名無しさん (ワッチョイ ffbd-qPHf) [] 2022/01/15(土) 00:11:45.90 ID:TZiSYT8I0(1) AAS
質問させてください
using System.Collections.Generic;
class TestEnumerable
{
static public Ienumerable FromTo()
{
yield return 1;
yield return 3.14;
}
static void Main(string[] args)
{
foreach(var I in FromTo())
{
Console.Write(I);
}
}
}
上記のようなコードがあった場合
yield return1を表示、続きから実行されて
yield return3.14を表示すると思うのですが
そのあと、メソッドが終了した場合の処理がイメージできません
FromTo()メソッドが終了した後は何か値がreturnされるのでしょうか?
FromTo()メソッド終了時の挙動の詳細を教えてほしいです
メソッドのシグネチャのみたまんま
FromToはIEnumerableを返すのであって1とか3.14を返すんじゃない。
何言ってるのか理解できなかったら川俣さんの記事のイテレーターの
説明でも読んでもらった方が早いよ。
663(1): デフォルトの名無しさん (ドコグロ MM4f-KcIn) [sage] 2022/01/15(土) 12:29:33.15 ID:mY1vrnaaM(1) AAS
>>651 有能
>>654,662662(1): デフォルトの名無しさん (ワッチョイ 7f01-KDxU) [sage] 2022/01/15(土) 11:19:56.44 ID:6qmp/Z4R0(1) AAS
>>649
FromTo()が返すのはIEnumerable
foreachは大雑把に言えば↓に展開される
var iterator = FromTo().GetEnumerator();
while (iterator.MoveNext()){
var I = iterator.Current;
Console.WriteLine(I);
}
イテレータとかイテラブルでググるといい
.NETの型名だとIEnumrator<T>とIEnumerable<T>
無能、聞きたいのはお前のチンケな知識じゃねーよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.048s