私はC#にかなり慣れていないので、練習問題として、YとNのコンソール入力をtrueとfalseのブール配列(Y = true N = false)に変換しようとしていました。
「割り当て呼び出し、インクリメント、デクリメント、待機、および新しいオブジェクト式のみをステートメントとして使用できます」というエラーが表示されます。助言がありますか?
これは機能し、少し簡単です。
var array = Console.ReadLine().Select(x => x == 'y');
リストと配列を扱っているからだと思います。それはあなたの方法を試したときに私が得たエラーでした。
試す:
bool[] tempArray = Console.ReadLine().ToList().ConvertAll(ch => Char.Equals(ch, 'Y')).ToArray();
ラムダは、宣言でパラメータの型を指定する必要はなく、自動的に推論されます。bool
また、 を使用してs のリストを配列に変換する必要がありますToArray
。
bool[] tempArray = Console.ReadLine().Select(ch => ch == 'Y').ToArray();
エラーが発生しないようにするには:
var bools = Console.ReadLine().Where(x => Char.ToUpperInvariant(x) == 'Y' || Char.ToUpperInvariant(x) == 'N').Select(x => x == 'Y');