我如何从列表中获取数字?

时间:2013-02-03 01:22:08

标签: c#

我有这段代码:

if (LR.Count > 0)
{
    for (int i = 0; i < LR.Count; i++)
    {

    }
}

LR是List类型的类。 在这个列表中,我有15个索引,例如索引[0]我有:

[0] = {Lightnings_Extractor.Lightnings_Region}

现在在这个索引[0]中我有两个int的变量end 88和start 96

在这个for循环中,我需要做的是:

if (LR.Count > 0)
{
    for (int i = 0; i < LR.Count; i++)
    {
        _fts.Add(
    }
}

_fts是List<int>我想要的是从LR列表中的每个索引添加两个数字。 所以,如果我想做的只是:

_fts.Add(LR[I]);

我遇到两个错误:

  

错误31'System.Collections.Generic.List.Add(int)'的最佳重载方法匹配有一些无效的参数

  

错误32参数1:无法从'Lightnings_Extractor.Lightnings_Region'转换为'int'

如何从列表LR的每个索引中获取两个数字,并且每次将这两个数字添加到List _fts?

1 个答案:

答案 0 :(得分:3)

如果您要将start然后end添加到_fts,请尝试

for (int i = 0; i < LR.Count; i++)
{
  _fts.Add(LR[I].start);
  _fts.Add(LR[I].end);
}

如果您想在_fts中输入一个条目,那么您需要另一个类来包含startend并重新定义_fts变量。

public class Range
{
    public int Start { get; set; }
    public int End { get; set; }
}

public List<Range> _fts = new List<Range>();

_fts.Add(new Range {Start = LR[I].start, End = LR[I].end} );

您还应该使用foreach代替if,然后使用for

foreach (var lr in LR)
{
   _fts.Add(new Range {Start = lr.start, End = lr.end} );
}