对于每个循环到 txt
本文关键字:txt 循环 于每个 | 更新日期: 2023-09-27 18:32:52
我的foreach
循环遍历列表,我需要循环以这样的形式将自身写入文本文件:
[
{
"Platillo": "Pozole",
"PDV": "Restaurante",
"Turno": "matutino",
"PV": "$45.00",
"1": "1",
"2": "1"
},]
我的 foreach 循环目前填充了一个 html 表。
foreach (var item in Model)
{
var total = 0;
decimal costo = 0;
for (int i = 1; i <= 31; i++)
{
var value = 0;
if (item.Fecha.Day == i) { value = item.Cantidad; costo = costo + item.Total; }
total += value;
}
<tr>
<td class="descripcion">@item.Descripcion</td>
<td class="pdv">@item.Pdv</td>
<td class="pdv">@item.Rid</td>
<td>@((costo / (total + 1)).ToString("C"))</td>
@for (int i = 1; i <= 31; i++)
{
var value = 0;
int month = item.Fecha.Month;
if (item.Fecha.Day == i) { value = item.Cantidad; }
}
<td>@total</td>
<td>@(((costo / (total + 1)) * total).ToString("C"))</td>
如何在列中执行此操作,以及如何对foreach
语句中的每个项目执行此操作?
在此处查看有关从列表中编写 JSON 的非常相似问题的答案:https://stackoverflow.com/a/16921677/2939759
编辑:链接的答案建议使用 Json.Net - 这是提供的代码示例(感谢 Liam 的精彩回答):
List<data> _data = new List<data>();
_data.Add(new data()
{
Id = 1,
SSN = 2,
Message = "A Message"
});
string json = JsonConvert.SerializeObject(_data.ToArray());
//write string to file
System.IO.File.WriteAllText (@"D:'path.txt", json);
您真正需要做的就是将 foreach 循环添加到那里提供的代码示例中
额外编辑:回想起来(可能为时已晚),我想我误解了阿图罗的问题。 我对它的解释是,在 ASP.NET MVC 视图中发生了一堆业务逻辑,Arturo 希望在可以将其写入文件的地方进行相同的处理,这在模型中可能更有意义。 它的代码可能看起来非常相似,可能如下所示。 请注意,我不会说西班牙语,也没有尝试编译这个......
List<data> _data = new List<data>();
foreach (var item in Model)
{
var total = 0;
decimal costo = 0;
for (int i = 1; i <= 31; i++)
{
var value = 0;
if (item.Fecha.Day == i) { value = item.Cantidad; costo = costo + item.Total; }
total += value;
}
_data.Add(new data()
{
Descripcion = item.Descripcion,
Pdv = item.Pdv,
Rid = item.Rid,
Costo = ((costo / (total + 1)).ToString("C")),
Total = total,
WhateverThisIs = (((costo / (total + 1)) * total).ToString("C"))
});
}
string json = JsonConvert.SerializeObject(_data.ToArray());
System.IO.File.AppendAllText(@"D:'path.txt", json); //make sure to use append