0

C# 配列の値を (カウンターを使用して) インクリメントしたいと考えています。しかし、私はいつも

範囲外のインデックス エラー。

これが私のコードです。dateStrings 配列内のカウンターの次の位置をインクリメントしようとしていますが、エラーで停止します。「i」の値をインクリメントするにはどうすればよいですか?

string[] datesStrings = { "" };      
int i = 0;

    if (counterDays.DayOfWeek.ToString() == "Monday")
            {
                datesStrings[i] = counterDays.ToString("yyyy-MM-dd");
                i++;
            }
            else 
            {
                counterDays = counterDays.AddDays(1);
                i++;
            } 

助言がありますか?ティア。

4

4 に答える 4

0

正確にそれが必要かどうかはわかりませんが、それが最もエレガントなアプローチです

//Create string list
List<string> datesStrings = new List<string>();
//Find all date items with Monday     
IEnumerable<DateTime> foundValues = counterDays.Where(result => result.DayOfWeek == DayOfWeek.Monday);
//Add found dates string representation to list
foreach(DateTime value in foundValues)
{
    datesStrings.Add(value.ToString("yyyy-MM-dd"));
}
于 2013-11-12T08:38:09.577 に答える