dt = ds.Tables[1];
foreach (EPSFromElement element in elementList)
{
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
var ColumnName = column.ColumnName;
var ColumnData = row[column].ToString();
var currentElement = Regex.Replace(element.Field_Label, @"\W", "");
if (element.Module_Field_ID != null)
{
if (currentElement == ColumnName)
element.ColumnValue = ColumnData;
}
else
{
if (element.Field_Type_Name != "Checkbox")
{
if ("Q_" + element.Column_Name_ID == ColumnName)
element.ColumnValue = ColumnData;
}
else
{
if ("Q_" + element.Column_Name_ID + "_" + element.Value_Column_Name_ID == ColumnName)
element.ColumnValue = ColumnData;
}
}
}
}
}
オブジェクトのリスト(EPSElement)があります。EPSElement には、データ テーブルからデータを取得するフィールド ColumnValue があります (dt = ds.Tables[1];)。これを達成するために、私は foreach ループを使用しています。これを行うためのより良い方法はありますか。ループごとに 3 つではあまり満足できません。これを LINQ に置き換えることはできますか。