私は最近@edplunkettすることにより、このコードを見て、私はインデント含めるように変更したいのですが、これは私がしかし、やっている何かで有用であろうと思った:インデントを含めるには、これを変更するために何が必要ですか?
static void Main()
{
var randomCrap = new List<Object>
{
1, "two",
new List<object> { 3, 4 },
5, 6,
new List<object> {
new List<object> { 7, 8, "nine" },
},
};
randomCrap.PrintAll();
}
public static class Extensions
{
public static void PrintAll(this Object root)
{
foreach (var x in root.SelectAll())
{
Console.WriteLine(x);
}
}
public static IEnumerable<Object> SelectAll(this object o)
{
// Thank you, eocron
if (o is String)
{
yield return o;
}
else if (o is IEnumerable)
{
var e = o as IEnumerable;
foreach (var child in e)
{
foreach (var child2 in child.SelectAll())
yield return child2;
}
}
else
{
yield return o;
}
}
}
それはインデントを毎回追加する方法は簡単ですがすべてのIEnumerable
遭遇した1ずつ増加0の開始インデントなどの
1
two
3
4
5
6
7
8
nine
何か:あなたがこれを取得したいようIEnumerable
が発生しましたか?
ハハハ! 'randomCrap'です。私はどこから来たのか知っています。 – itsme86