我喜欢C#,但是,例如,一个像下面这样简单的条件对于它想要实现的目标非常冗长:
if ( (ctr == "BT") || (ctr = "B") ) {
ctrName = "Brian";
} else if ( (ctr == "G") || (ctr = "GD") ) {
ctrName = "George";
}
我在想,在理想的语言中,它可以被编码为:
if ctr:
in {"BT", "B"}: ctr = "Brian"
in {"G", "GD" }: ctr = "George"
有没有更像这样的语言?
答案 0 :(得分:1)
有一种语言就是这样! C# - 通过扩展方法。
以下是使用In
扩展方法的示例。
using System;
using System.Linq;
namespace Bob
{
public static class Extensions
{
public static bool In<T>(this T toCheck, params T[] isItInOneOfThese)
{
return isItInOneOfThese.Contains(toCheck);
}
}
public class Program
{
static void Main(string[] args)
{
var ctrName = "";
var ctr = "BT";
if (ctr.In("BT", "B"))
{
ctrName = "Brian";
}
else if (ctrName.In("G", "GD"))
{
ctrName = "Brian";
}
Console.WriteLine(ctrName);
Console.ReadLine();
}
}
}