无法在C#列表迭代中获取所有记录 [英] Not able to get all records in C# list iteration
本文介绍了无法在C#列表迭代中获取所有记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好我有多个List< object>记录但我得到的结果只有一条记录。
能否帮我看看如何获取以下数据的所有列表数据。
Hi i have multiple List<object> records but i am getting only one records as result.
Could you please help me how to get all list data for the below data.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ToCommaExample
{
class Program
{
public void DisplayResult(object fromResult)
{
foreach (var result in fromResult as List<object>)
{
var Jsonresult = Newtonsoft.Json.JsonConvert.SerializeObject(result);
Console.WriteLine(Jsonresult);
}
}
public static void CreatEvents(object auditData)
{
if (auditData != null)
{
List<object> singleAuditEvent = new List<object>();
foreach (var fromAuditData in auditData as List<object>)
{
singleAuditEvent.Add(fromAuditData);
}
Program obj = new Program();
obj.DisplayResult(singleAuditEvent);
}
}
static void Main(string[] args)
{
List<object> listObject = new List<object>();
List<SecurityAuditData> objSecurityAuditData = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12341",TransactionName="ABC",UserIdentity="U1"} }; listObject.Add(objSecurityAuditData);
List<SecurityAuditData> objSecurityAuditData1 = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12344",TransactionName="ABC3",UserIdentity="U4"}}; listObject.Add(objSecurityAuditData1);
List<SecurityAuditData> objSecurityAuditData2 = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12343",TransactionName="ABC2",UserIdentity="U3"}
}; listObject.Add(objSecurityAuditData2);
List<SecurityAuditData> objSecurityAuditData3 = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12342",TransactionName="ABC1",UserIdentity="U2"}
}; listObject.Add(objSecurityAuditData3);
Program.CreatEvents(listObject);
Console.Read();
}
}
public class SecurityAuditData
{
public string TransactionName { get; set; }
public string EntityID { get; set; }
public string UserIdentity { get; set; }
}
}
什么我试过了:
我尝试过以下代码,但无法获得所有记录。
What I have tried:
I have tried with the below code but not able to get all records.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ToCommaExample
{
class Program
{
public void DisplayResult(object fromResult)
{
foreach (var result in fromResult as List<object>)
{
var Jsonresult = Newtonsoft.Json.JsonConvert.SerializeObject(result);
Console.WriteLine(Jsonresult);
}
}
public static void CreatEvents(object auditData)
{
if (auditData != null)
{
List<object> singleAuditEvent = new List<object>();
foreach (var fromAuditData in auditData as List<object>)
{
singleAuditEvent.Add(fromAuditData);
}
Program obj = new Program();
obj.DisplayResult(singleAuditEvent);
}
}
static void Main(string[] args)
{
List<object> listObject = new List<object>();
List<SecurityAuditData> objSecurityAuditData = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12341",TransactionName="ABC",UserIdentity="U1"} }; listObject.Add(objSecurityAuditData);
List<SecurityAuditData> objSecurityAuditData1 = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12344",TransactionName="ABC3",UserIdentity="U4"}}; listObject.Add(objSecurityAuditData1);
List<SecurityAuditData> objSecurityAuditData2 = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12343",TransactionName="ABC2",UserIdentity="U3"}
}; listObject.Add(objSecurityAuditData2);
List<SecurityAuditData> objSecurityAuditData3 = new List<SecurityAuditData>()
{
new SecurityAuditData() { EntityID="12342",TransactionName="ABC1",UserIdentity="U2"}
}; listObject.Add(objSecurityAuditData3);
Program.CreatEvents(listObject);
Console.Read();
}
}
public class SecurityAuditData
{
public string TransactionName { get; set; }
public string EntityID { get; set; }
public string UserIdentity { get; set; }
}
}
输出:
Output :
[{"TransactionName":"ABC","EntityID":"12341","UserIdentity":"U1"}]
仅获取上述内容结果但需要获取所有4条记录
Getting only the above result but need to get all 4 records
推荐答案
删除Console.Read();在Console.WriteLine之后(Jsonresult);
他们暂停执行并导致程序等待用户(键盘)输入。
{更新] OP做了我推荐的改变,现在它可以正常工作。
Remove the Console.Read(); after Console.WriteLine(Jsonresult);
They pause execution and cause the program to wait for user (keyboard) input.
{Update] OP made the change I recommended and now it works.
一旦你尝试与我合作,代码应该可以正常工作。
The code should work perfectly the once you tried is working with me.
你确定你没有通过第二个程序获得你想要的输出吗?
我按原样运行它得到了:
Are you sure you're not getting the output you want with the second program?
I ran it as is and got:
[{"TransactionName":"ABC","EntityID":"12341","UserIdentity":"U1"}]
[{"TransactionName":"ABC3","EntityID":"12344","UserIdentity":"U4"}]
[{"TransactionName":"ABC2","EntityID":"12343","UserIdentity":"U3"}]
[{"TransactionName":"ABC1","EntityID":"12342","UserIdentity":"U2"}]
这篇关于无法在C#列表迭代中获取所有记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文