我正在寫一個動態sql查詢的where子句,並帶有兩列'(列表)'樣式規則中的列。循環與自定義類
我可以看到幾次int ID對,如LocationID/ProductID或TransactionID/FeeID。
下面的示例並不需要放置在方法之外的類,然後從那裏的條件刪除重複:
var x = (from DataRow row in expected.Rows
select row.ItemArray[0]).Distinct().ToArray()
var y = (from DataRow row in expected.Rows
select row.ItemArray[1]).Distinct().ToArray();
for (int i = 0; i < x.Length; i++)
{
com.Parameters.AddWithValue("@x" + i, int.Parse(TIDs[i].ToString()));
}
for (int i = 0; i < y.Length; i++)
{
com.Parameters.AddWithValue("@y" + i, int.Parse(ItemIDs[i].ToString()));
}
是優選該樣品,這是較少的重複的,或者是有一個更好的選擇?
public class xy
{
public int x;
public int y;
}
var xy = (from DataRow row in expected.Rows
select new xy()
{
x = int.Parse(row.ItemArray[0].ToString()),
y = int.Parse(row.ItemArray[1].ToString())
}).Distinct().ToArray();
for (int i = 0; i < xy.Length; i++)
{
com.Parameters.AddWithValue("@x" + i, xy[i].x);
com.Parameters.AddWithValue("@y" + i, xy[i].y);
}
雙方還需要對querystring += "@x" + i + ", ";
您可以使用內置的System.Drawing.Point結構而不是製作自己的類。 – David
確實第二個編譯? –
@SamIam當然不是實際代碼中的類和後續代碼不是並排的;除非你指的是一個特定的錯誤,否則該表示是爲了簡潔起見? – user314321