using System;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
Hoge(1);
Hoge(2);
Hoge(3);
}
private static void Hoge(int n)
{
var commands = new List<Action>();
Action commandAorB = () => Console.WriteLine("\t1 or 2.");
if (n == 1) {
commands.Add(() => Console.WriteLine("\t1."));
commands.Add(commandAorB);
} else if (n == 2) {
commands.Add(() => Console.WriteLine("\t2."));
commands.Add(commandAorB);
} else {
commands.Add(() => Console.WriteLine("\totherwise."));
}
Console.WriteLine("argument = " + n);
foreach (var command in commands) {
command();
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlIb2dlKDEpOwoJCUhvZ2UoMik7CgkJSG9nZSgzKTsKCX0KCQoJcHJpdmF0ZSBzdGF0aWMgdm9pZCBIb2dlKGludCBuKQoJewoJCXZhciBjb21tYW5kcyA9IG5ldyBMaXN0PEFjdGlvbj4oKTsKCQlBY3Rpb24gY29tbWFuZEFvckIgPSAoKSA9PiBDb25zb2xlLldyaXRlTGluZSgiXHQxIG9yIDIuIik7CgkJCgkJaWYgKG4gPT0gMSkgewoJCQljb21tYW5kcy5BZGQoKCkgPT4gQ29uc29sZS5Xcml0ZUxpbmUoIlx0MS4iKSk7CgkJCWNvbW1hbmRzLkFkZChjb21tYW5kQW9yQik7CgkJfSBlbHNlIGlmIChuID09IDIpIHsKCQkJY29tbWFuZHMuQWRkKCgpID0+IENvbnNvbGUuV3JpdGVMaW5lKCJcdDIuIikpOwoJCQljb21tYW5kcy5BZGQoY29tbWFuZEFvckIpOwoJCX0gZWxzZSB7CgkJCWNvbW1hbmRzLkFkZCgoKSA9PiBDb25zb2xlLldyaXRlTGluZSgiXHRvdGhlcndpc2UuIikpOwoJCX0KCQkKCQlDb25zb2xlLldyaXRlTGluZSgiYXJndW1lbnQgPSAiICsgbik7CgkJZm9yZWFjaCAodmFyIGNvbW1hbmQgaW4gY29tbWFuZHMpIHsKCQkJY29tbWFuZCgpOwoJCX0KCX0KfQ==