2020年10月01日
川俣晶の縁側ソフトウェアC# コーディング How To total 740 count

【入門級】セで始まりスで終わる文字列を判別する・LINQ編

Written By: 川俣 晶連絡先

セで始まりスで終わる文字列を判別する・LINQ編 §

 文字列の配列の中に、セで始まりスで終わる文字列があるといいます。

 それを判別したいとします。

 どうすれば良いのでしょうか。

 今回はLINQを使ってやってみましょう。

 やり方は簡単です。

 LINQのFirstメソッドとLastメソッドは文字列に対して使うと最初の文字と最後の文字を返してくれます。文字列の長さが0の場合は例外が起きてしまうので、FirstOrDefaultメソッドとLastOrDefaultメソッドを使うとより安全です。これらのメソッドは目的の文字が無い時は例外を出さずに'\0'を返してくれます。

罠の数々 §

  • ソースの先頭にusing System.Linq;を忘れてはいけない。LINQを使うならこれはほぼ必須。

参考リンク §

Enumerable.First メソッド

Enumerable.Last メソッド

Enumerable.FirstOrDefault メソッド

Enumerable.LastOrDefault メソッド

 OrDefaultが名前に付いている場合と付いていない場合は結局何が違うのか。上記リンクから確認してみよう。

リポジトリ §

https://github.com/autumn009/cshowto

FirstLast §

using System;

using System.Linq;

class Program

{

    static void Main()

    {

        string[] ar = {

            "クラウド","セフィロス","ティファ","エアリス","バレット"

        };

        foreach (var item in ar)

        {

            if (item.FirstOrDefault()== 'セ' && item.LastOrDefault()=='ス') Console.WriteLine(item);

        }

    }

}

実行結果

セフィロス

COOL C# CREW

C#ハウツー連載の解説増量、カラーのソース、新規書き下ろし追加の読みやすい単行本はこちら。

C#ハウツー: 逆引き入門・こんな機能はどう書くの?