![](/img/trans.png)
[英]Can i able to store each item in a json array inside a foreach loop in c# web api?
[英]how can i store each items in a json array using c#
我想將每個項目存儲到放置在foreach循環內的json數組中,我怎么可能?
目前我的代碼是
foreach (DataRow drow1 in alltheatre.Rows)
{
string theatname = drow1["TheatreName"].ToString();
string latitude = drow1["Latitude"].ToString();
string longitude = drow1["Longitude"].ToString();
string theatname = drow1["TheatreName"].ToString();
string theatid = drow1["TheatreDetailsId"].ToString();
string theataddre = drow1["TheatreAddress"].ToString();
string cntctnu = drow1["ContactNum"].ToString();
string theatimg = drow1["TheatreImage"].ToString();
string descr = drow1["TheatreDesc"].ToString();
string mouvieid = drow1["MovieMasterId"].ToString();
array = new[]
{
new
{
Name = theatname,
Theatrdetailsid=theatid,
image=theatimg,
lat=latitude,
longi=longitude,
adress=theataddre,
contactnum=cntctnu,
desc=descr,
}
},
}
}
在這里,我有一個foreach循環來獲取有關劇院的詳細信息,我試圖將每個數據存儲到json數組,但是我只能存儲1個數據,即最后一個。如何解決此問題。
您需要在foreach
循環之外聲明新集合。 您只有一個,因為每次都會創建一個新數組。
而不是數組,應該使用List<T>
。 除非您要使用LINQ或創建Rows
集合大小的數組,否則這將容易得多。
var array = new List<object>();
foreach (var row in alltheatre.Rows)
{
// Get your properties
array.Add(new
{
// Set your properties
});
}
我將使用LINQ的Select來映射每一行:
IEnumerable<object> mapped = alltheatre.Rows.Select(row => new
{
Name = row["TheatreName"].ToString(),
Theatrdetailsid = row["TheatreDetailsId"].ToString()
// ...
});
如果需要將其放在原始數組中,可以調用ToArray() :
object[] mappedArray = mapped.ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.