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;
}
}
}
}
}
나는 List of object (EPSElement)를 가지고 있습니다. EPSElement에는 데이터 테이블 (dt = ds.Tables [1];)에서 데이터를 가져 오는 ColumnValue 필드가 있습니다. 이것을 달성하기 위해 foreach 루프를 사용하고 있습니다.이 작업을 수행하는 더 좋은 방법이 있습니까? 각 루프마다 세 가지로 너무 만족하지 않습니다. LINQ로 바꿀 수 있습니까?foreach를 linq으로 바꿉니다
'element.ColumnValue'의 값을 각 행의 데이터로 반복해서 대체하는 것처럼 보입니까? – Guvante
@Guvante 예 – DotNetBeginner