Я полагаю, что каждый тон знает выражение if с 'или' в csharp:
bool bananaIsYellow = true;
bool bananaIsBrown = false;
if (bananaIsYellow || bananaIsBrown) bool bananaIsRipe = true;
Дело в том, что это может очень быстро запутаться, как только вы начнете сравнивать строки:
string bananaColor = yellow;
if (bananaColor == "yellow" ||
bananaColor == "brown" ||
bananaColor == "blue")
{
bool bananaIsRipe = true;
}
Есть ли способ сократить это?
Единственный способ, которым я бы знал, это что-то вроде этого (что, очевидно, не более красиво или коротко):
string bananacolor = "yellow";
if (StringComparer(bananacolor, new string[] { "yellow", "brown", "blue" })) { bool bananaIsRipe = true; }
}
private static bool StringComparer(string source, string[] values)
{
foreach (var value in values)
{
if (source == value) return true;
}
return false;
}