1

文字列のリストがあり、Linq の 1 行を使用して、リストの一意の値 (存在する場合) または null を返したいと考えています。言い換えると:

 ["a","a","a","a","a"] returns "a"
 ["a"] returns "a"

 ["a","a","a","a","b"] returns null
 ["a","b","c"] returns null
 [] returns null

IEnumerable.Distinct() を使用してリストを一意の値に折りたたむと思いますが、「単一または null」を行う方法がわかりません (複数の項目がある場合、SingleOrDefault() は例外をスローします; FirstOrDefault( ) は常に最初の項目を返し、必要な項目が 2 つ以上ある場合は null を返しません。)

何か案は?私が見落としている単一行でこれを行う簡単な方法があるかどうか、私は本当に興味があります。機能させるために拡張メソッドを記述する必要がない場合は、ボーナス ポイントです。ありがとう!

4

2 に答える 2