簡體   English   中英

如何將數據表中的值存儲到數組中,並使用C#中的for循環從數組中檢索每個值?

[英]how to store values from datatable to array and retrive each values from array using for loop in c#?

 con001.Open();
        SqlCommand cmd001 = new SqlCommand("select distinct TruckRegistration.Id from booking_txn inner join Payments on  booking_txn.booking_ID=Payments.booking_ID inner join truck_log on  booking_txn.booking_ID=truck_log.booking_id inner join TruckRegistration on TruckRegistration.Id=truck_log.truck_id inner join booking_master on booking_master.booking_ID=booking_txn.booking_ID where booking_master.booking_pickupdate between '10-Jul-2016'  and '10-Aug-2016' ", con001);
        DataTable myDataTable = new DataTable();
        SqlDataAdapter ad = new SqlDataAdapter(cmd001);
        con001.Close();
        ad.Fill(myDataTable);


        List<String> trucklist = new List<String>();

        foreach (DataRow dataRow in myDataTable.Rows)
        {

            trucklist.Add(string.Join(";", dataRow.ItemArray.Select(item => item.ToString())));
        }


*I Have stored values from a datatable to trucklist array*

此后要做的是,使用for循環將每個值存儲在數組中以分隔字符串。

 foreach (String currentTruck in truckList)
  {
    // do something with currentTruck
  }

要么

  for (int i = 0; i < truckList.Count; i++)
  {
    String currentTruck = truckList[i];
    // do something with currentTruck
  }

你舉的例子是類似下面的代碼,這將只需填寫2,3,4,5在不同指標stringList 如果在Id旁邊再向class A添加一列,則會對string.Join產生一些影響。

void Main()
{
    List<A> intList = new List<A> { new A { Id = 2}, new A { Id = 3}, new A { Id = 4}, new A { Id = 5}};

    List<string> stringList = new List<string>();

    var propertyArray = intList.First().GetType().GetProperties();

    foreach (var x in intList)
    {

        stringList.Add(string.Join(";",propertyArray.Select(y => y.GetValue(x,null))));
    }

  // Print StringList    
}

public class A
{
    public int Id { get; set;}
}

編輯

  • 轉換為Array ,使用以下代碼:

     var stringArray = stringList.ToArray(); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM