无法在C#列表迭代中获取所有记录 [英] Not able to get all records in C# list iteration

查看:82
本文介绍了无法在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆