ホームページ  >  記事  >  バックエンド開発  >  C# は、LINQ、ジェネリックス、および Index 関数を使用して switch (または複数の if) ステートメントを最適化します。

C# は、LINQ、ジェネリックス、および Index 関数を使用して switch (または複数の if) ステートメントを最適化します。

黄舟
黄舟オリジナル
2017-02-21 10:55:292247ブラウズ

背景:
変数が「.txt.doc.xls.ppt.pdf」内の特定の形式であるかどうかを判断し、そうであれば対応する操作を実行します。

方法 1: ジェネリックスを使用する

readonly IList<String> fNames = new List<String>() {
             ".doc",
             ".txt",
             ".xls",
             ".ppt",
             ".pdf"
        };
private void Test(string fName)
{ 
    if(fNames.Contains(fName))
	{
        MessageBox.Show(fName);
    }
}

方法 2: LINQ を使用する

private void Test(string fName)
{
    if (new string[] { ".doc", ".txt", ".xls" }.Any(x => fName == x))
    {
        MessageBox.Show(fName);
    }
}

&& の場合は、All を使用する

知識拡張:

LINQ クエリ構文

ラムダ式式ツリー

LINQ 簡単な使用法クエリの例

方法 3: Index 関数を使用する

private void Test(string fName)
{
    string str = ".txt.doc.xls.ppt.pdf";
    if (str.IndexOf(fName) >= 0)
    {
        MessageBox.Show(fName);
    }
}

C# IndexOf use

上記は、LINQ、ジェネリックス、Index 関数を使用して switch (または複数の if) ステートメントの内容を最適化する C# です。コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。