2012-03-17 9 views
1

最初にコレクションリストを作成しました。関数のRSSアイテムには、文字列と日付の変数であるリンク記述タイトルが含まれています。このようにコレクションリストを埋めようとしました。 コレクションリスト。Cでデータセットを使用してコレクションリストを埋める方法#

for (int i = 0; i < dt.Rows.Count; i++) 
      { 
       row = dt.Rows[i]; 
       list[i].Link = row[0].ToString();// 
       list[i].Description = row[1].ToString(); 
       list[i].Title = row[2].ToString(); 
      list[i].Date = DateTime.Parse(row[3].ToString()); 

      } 

リスト[i]の下にある変数ではないため、戻り値を変更できないエラーがあります。

どうすればこの問題を解決できますか?ありがとう

+0

に[3]の列を変換しようとする必要がありますか? –

答えて

0

は日時に値を解析してみてください。

for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    row = dt.Rows[i]; 
    list[i].Link = row[0].ToString();// 
    list[i].Description = row[1].ToString(); 
    list[i].Title = row[2].ToString(); 
    list[i].Date = DateTime.Parse(row[3].ToString()); 
} 

列の値が[3]有効な日付(ではないかもしれないので、私は、けれども、ここで注意が必要でしょう、これはあなたが確認することができますいくつかありますか?

for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    row = dt.Rows[i]; 
    list[i].Link = row[0].ToString();// 
    list[i].Description = row[1].ToString(); 
    list[i].Title = row[2].ToString(); 
    list[i].Date = ToDateTime(row[3].ToString()); 
} 

public static DateTime? ToDateTime(string value) 
{ 
    DateTime result; 

    if (DateTime.TryParse(value, out result)) 
    { 
     return result; 
    } 

    return null; 
} 

list.DateDateTime?として宣言されていることを確認します)その場合

、あなたはいくつかの防衛を持っている場合があります。これを使用すると、DateTime.Parse()を呼び出したときにrow [3]が有効な日付でない場合に例外が発生することが回避されます。 DBNull.Valueのを考慮していない

+0

ありがとうございます、私は私のDateTime問題が解決したと思います – leventkalay92

0
list[i].Date =Convert.ToDateTime(row[3]); 

これを試してください。

0

、あなたが得るエラーメッセージは何のDateTime

string toConvert = row[3].ToString(); 
DateTime result; 
if(DateTime.TryParse(toConvert, out result) == true) 
    list[i].Date = result; 
関連する問題