我的問題的根源在於C#編譯器太聰明瞭。它檢測到一個對象可能未定義的路徑,因此要求我填充它。在代碼中,我查看DataSet中的表以查看是否有我想要的表。如果不是,我創建一個新的。我知道dtOut總是會被分配一個值,但是編譯器不會很高興,除非它在聲明時被分配了一個值。這是不雅的。如何避免以優雅的方式創建不需要的對象?
如何以更優雅的方式重寫此文件?
System.Data.DataTable dtOut = new System.Data.DataTable();
.
.
// find table with tablename = grp
// if none, create new table
bool bTableFound = false;
foreach (System.Data.DataTable d1 in dsOut.Tables)
{
string d1_name = d1.TableName;
if (d1_name.Equals(grp))
{
dtOut = d1;
bTableFound = true;
break;
}
}
if (!bTableFound) dtOut = RptTable(grp);
謝謝大家的意見。 (我對一般問題感興趣,給出的代碼只是一個例子,但沒有特別的重要性。) – SeaDrive 2010-04-08 14:54:04