私は自分の知識を丸めるためにいくつかのオンラインコースからC#でプログラムを習得しようとしています。それは非常に挑戦的であることが証明されています。私は理解していると思っているようですが、実際の練習をするために座っていると、しばしば困惑します。私はそれが好きな傾向があります。なぜなら、問題が発生したときに研究して作業する方法を勉強しなければならないからです。なぜリストのMy Countが0になっていますか?
これで、私は理解できないようないくつかのハードルがあります。私はそれらを見たいと思えば実践的な練習への答えを持っていますが、私はそれをしたくありません。
私は実際に仕事の内容を分かち合いたいとは思っていません。私はそれを解決する手助けをしたくないからです。私を助けようとする人は、とにかくそれを知る必要があるとは思いません。
以下のコードでは、実際に何が起こっているかを理解するのに役立ちます。私は知っている、私は知っている、それは非常に一般的なように聞こえるが、私は本当に私の質問を適切に表現する方法を本当に知っている新しいです。
私の質問は次のとおりです。「listNumbers」リストの要素数がゼロになっているのはなぜですか?私はハイフンで区切って入力をユーザーに尋ねる
:
私のロジックはこれです。 私はその入力を受け取り、ハイフンで文字列配列に分割します。 空のリストを作成します。 文字列配列の各要素をループし、int32に変換してリストに追加します。 私は、何回ループしているかを見るためにカウンターを置いています。これは、最初に入力された数字の数に基づいて正確に示しています。 リストの各要素を2番目のカウンタでループして、何回ループしたかを確認します。これは最初に何個の数字が入力されたかに基づいて正確に表示されます。
しかし、リスト内の要素の数はゼロとして表示されます。リストに要素がないようです。
どのようにすることができますか?
リストの要素数がゼロになっている理由を説明できる人はいますか?
ありがとうございました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication10
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter a few numbers separated by a hyphen and then press 'Enter'.");
var userInput = Console.ReadLine();
var numbers = userInput.Split('-');
var listNumbers = new List<Int32>();
var counter1 = 0; // Just for troubleshooting
var counter2 = 0; // Just for troubleshooting
var count = listNumbers.Count;
foreach (string number in numbers)
{
var convertedNumber = Convert.ToInt32(number);
listNumbers.Add(convertedNumber);
counter1++; // Just for troubleshooting
}
foreach (int listNumber in listNumbers)
{
counter2++; // Just for troubleshooting
Console.WriteLine(listNumber); // Just for troubleshooting
}
// Just for troubleshooting
Console.WriteLine("----------");
Console.WriteLine("Count of loops through coversion from string to int32 and adding each to list: " + counter1);
Console.WriteLine("Count of loops through the list itself: " + counter2);
Console.WriteLine("Count of elements in list: " + count);
}
}
}
あなたは決して更新しません。 – Jonesopolis