มันเป็นคำถามง่าย ๆ ฉันเป็นมือใหม่ใน C # ฉันจะทำสิ่งต่อไปนี้ได้อย่างไร
- ฉันต้องการแปลงอาเรย์ของจำนวนเต็มเป็นสตริงที่คั่นด้วยเครื่องหมายจุลภาค
ฉันมี
int[] arr = new int[5] {1,2,3,4,5};
ฉันต้องการแปลงเป็นสตริงเดียว
string => "1,2,3,4,5"
มันเป็นคำถามง่าย ๆ ฉันเป็นมือใหม่ใน C # ฉันจะทำสิ่งต่อไปนี้ได้อย่างไร
ฉันมี
int[] arr = new int[5] {1,2,3,4,5};
ฉันต้องการแปลงเป็นสตริงเดียว
string => "1,2,3,4,5"
คำตอบ:
var result = string.Join(",", arr);
สิ่งนี้ใช้โอเวอร์โหลดต่อไปนี้ของstring.Join
:
public static string Join<T>(string separator, IEnumerable<T> values);
.NET 4
string.Join(",", arr)
.NET ก่อนหน้านี้
string.Join(",", Array.ConvertAll(arr, x => x.ToString()))
int[] arr = new int[5] {1,2,3,4,5};
คุณสามารถใช้ Linq ได้
String arrTostr = arr.Select(a => a.ToString()).Aggregate((i, j) => i + "," + j);
คุณสามารถมีวิธีการขยายคู่หนึ่งเพื่อให้งานนี้ง่ายขึ้น:
public static string ToDelimitedString<T>(this IEnumerable<T> lst, string separator = ", ")
{
return lst.ToDelimitedString(p => p, separator);
}
public static string ToDelimitedString<S, T>(this IEnumerable<S> lst, Func<S, T> selector,
string separator = ", ")
{
return string.Join(separator, lst.Select(selector));
}
ดังนั้นตอนนี้เพียง:
new int[] { 1, 2, 3, 4, 5 }.ToDelimitedString();
ใช้Aggregate
วิธีLINQ เพื่อแปลงอาเรย์ของจำนวนเต็มเป็นสตริงที่คั่นด้วยเครื่องหมายจุลภาค
var intArray = new []{1,2,3,4};
string concatedString = intArray.Aggregate((a, b) =>Convert.ToString(a) + "," +Convert.ToString( b));
Response.Write(concatedString);
การส่งออกจะเป็น
1,2,3,4
นี่เป็นหนึ่งในโซลูชันที่คุณสามารถใช้ได้หากคุณไม่ได้ติดตั้ง. net 4