[.NET]將DataRow的值轉成字串

[.NET]將DataRow的值轉成字串

今天在網路上看到「Foreach datarow to string」,需要將DataRow的值轉成字串。

在DataRow有個ItemArray的屬性,是將各欄位轉成Array。

所以剩下的就是將Array轉成字串啦!

所以這時,我們就可以使用 String.Join 來將Array依某個分隔符號串接起來,如下範例所示,


DataTable dt = new DataTable("test");
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("NAME", typeof(string));
dt.Columns.Add("SURNAME", typeof(string));
dt.Rows.Add(1, "Rainmaker", "MIKE");
DataRow dr = dt.Rows[0];
string drValues = string.Join(",", dr.ItemArray); // 1,Rainmaker,MIKE

 

當然,我們也可以使用擴充方法來達到目的,如下建立一個ItemArrayString的擴充方法,


public static string ItemArrayString(this DataRow dr, string separator)
{
	return string.Join(separator, dr.ItemArray);
}

public static string ItemArrayString(this DataRow dr)
{
	return string.Join(",", dr.ItemArray);
}

 

呼叫的方式,如下,


drValues = dr.ItemArrayString();
drValues = dr.ItemArrayString(",");

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^