小编kmk*_*09k的帖子

如何在Dictionary <string,List <string [] >>()对象中检查字符串值?

为了简单起见,我有以下字典,我为每个字符串键填充了未知数量的字符串.我还有以下字符串列表.

var dict = new Dictionary<string, List<string[]>>();
IList<string> headerList = new List<string>();
Run Code Online (Sandbox Code Playgroud)

如何检查列表中的字符串是否是字典中的值?我的数据看起来与此类似:

 Key           Value
 -----         ------------------
 Car           honda, volks, benz
 Truck         chevy, ford
Run Code Online (Sandbox Code Playgroud)

我需要检查"honda"是否包含在字典值中.我想我需要做类似以下的事情来查看值是否包含列表,其中包含有问题的字符串.请记住,我对C#还不熟悉.

    foreach (string header in headerList)
    {
        // This is wrong, I don't know what to put in the if statement 
        if (dict.ContainsValue(r => r.Contains(header)))
        {
            // do stuff 
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# dictionary

5
推荐指数
1
解决办法
1万
查看次数

TypeScript映射:键和值在迭代时交换

我有一个关于TypeScript的简化问题,其中“键”和“值”正在切换。为了演示这个问题,我有以下地图,我自己将其存储在文件中:

零件

export const PART_DATA : Map<string, string> = new Map( 
[
    [ 'PI',  'Piping' ],
    [ 'TC',  'Truck Components' ],
    [ 'BE',  'Brake Equipment' ]
]);
Run Code Online (Sandbox Code Playgroud)

...,我们将在实现此Map的其他文件(ProcessParts.ts)中调用它,如下所示:

  import {Component, OnInit, NgModule} from '@angular/core';
  import {PART_DATA} from './Parts';    

  export class ProcessParts {

      ngOnInit(){    
        PART_DATA.forEach((key: string, value: string) => {
          console.log("here is " + key + ', ' + value);
        });
      }
  }
Run Code Online (Sandbox Code Playgroud)

...我们的输出将开始如下所示:

here is Piping, PI  
Run Code Online (Sandbox Code Playgroud)

...何时应交换键和值。这是不是一个巨大的问题,但我用了几个映射设置了这样的PART_DATA例子,但这是我第一次看到这个问题,当我循环访问该地图(这个这个岗位上迭代迭代一个TS地图) 。为了清楚起见,我首先需要遍历Map,以便可以向UI显示一些选项。

javascript typescript angular

3
推荐指数
1
解决办法
4839
查看次数

如何在IGrouping中对组中索引处的单个项目进行操作?

我在下面简化了 groupby 代码,我知道每个组最多存在两条记录,每个组按字符串数组中索引二处的值分组。我想遍历 IGrouping 中的键列表,并在每个组中组合一些值,然后将该结果添加到最终列表中,但我是 LINQ 的新手,所以不完全知道如何访问这些第一个和/或第二个索引处的值。

谁能解释一下如何做到这一点?

从 var 行派生的每个 Group 是这样的:

 key    string[]
----   ------------- 
123    A, stuff, stuff
123    B, stuff, stuff
Run Code Online (Sandbox Code Playgroud)

我希望结果是一个 string[] ,它组合了“最终”列表中每个组的元素,例如:

string[]
-------
A, B
Run Code Online (Sandbox Code Playgroud)

我的代码:

     var lines = File.ReadAllLines(@path).Skip(1).Select(r => r.Split('\t')).ToList();
     List<string[]> final = new List<string[]>();
     var groups = lines.GroupBy(r => r[2]);

     foreach (var pairs in groups)
     {
        // I need to combine items in each group here; maybe a for() statement would be better so I can peek ahead??
        foreach (string[] …
Run Code Online (Sandbox Code Playgroud)

c# linq

0
推荐指数
1
解决办法
2158
查看次数

标签 统计

c# ×2

angular ×1

dictionary ×1

javascript ×1

linq ×1

typescript ×1