【问题标题】:C# Searching through one list and sending information to another listC# 搜索一个列表并将信息发送到另一个列表
【发布时间】:2020-01-10 17:53:20
【问题描述】:

我有“按姓氏搜索”,问题是:我必须在 Klijent 列表中按姓氏搜索 -> 从 Klijent 列表中获取与该姓氏匹配的 OIB(可能很少有人具有相同的姓氏和不同的“OIB - 个人识别号") -> 将 OIB 发送到 PoliceOsiguranja 列表 -> 打印出分配给 OIB 的那个/那些策略。

同样,OIB 是唯一连接 PoliceOsiguranja 和 Klijent 列表的东西。

我将插入代码,但该代码是为在 Klijent 和 PoliceOsiguranja 中存储数据的地方设计的。

                Console.WriteLine("Search by surname (2)");
                Console.WriteLine("Input surname (prezime):");
                string pPrezime = Console.ReadLine();
                List<PoliceOsiguranja> lPoliceOsiguranja = DohvatiPoliceOsiguranja();
                List<Klijent> lKlijent = DohvatiKlijente();
                int RedniBr = 1;
                    long pomocniOIB = 0;

                    foreach (var Klijent in lKlijent)
                    {
                        if (Klijent.prezime == pPrezime)
                        {
                            nPomocna = 1;
                            pomocniOIB = Klijent.OIB;
                            Console.WriteLine("Client by OIB: " + Klijent.OIB + " - " + Klijent.ime + " " + Klijent.prezime + " " + Klijent.grad);
                        }
                    }
                    Console.WriteLine("Created insurance policies:");
                    var tablica = new ConsoleTable("Order number (RedniBr). ", "Policy number", "Type of insurance", "Date", "Date", "Value");
                    foreach (var PoliceOsiguranja in lPoliceOsiguranja)
                    {
                        if (PoliceOsiguranja.OIB == pomocniOIB)
                        {
                            nPomocna = 1;
                            tablica.AddRow(RedniBr++ + ".", PoliceOsiguranja.BrojPolice, PoliceOsiguranja.VrstaOsiguranja, PoliceOsiguranja.DatumPocetka, PoliceOsiguranja.DatumIsteka, PoliceOsiguranja.Vrijednost);
                        }
                    }

【问题讨论】:

  • 但该代码是为一些不同的东西而设计的你能分享一下实际的示例吗?

标签: c# json list foreach


【解决方案1】:

如果我理解正确你在问什么:

1 - 获取匹配 pPrezime 名称的 oib 列表

IEnumerable<long> oibList = lKlijent
    .Where(lk => lk.Prezime.Equals(pPrezime, StringComparison.OrdinalIgnoreCase))
    .Select(o => o.OIB);

2 - 打印政策

foreach (PoliceOsiguranja policeOsiguranja in lPoliceOsiguranja)
{
   if (oibList.Contains(policeOsiguranja.OIB))
   {
       nPomocna = 1;
       tablica.AddRow(RedniBr++ +".", policeOsiguranja.BrojPolice, 
       policeOsiguranja.VrstaOsiguranja, policeOsiguranja.DatumPocetka, 
       policeOsiguranja.DatumIsteka, policeOsiguranja.Vrijednost);
   }
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多