我想为struct添加一个值

if (!existISDNteilnehmer(split))
{
    isdnObjs.Add(new ISDN() { name = split, number = "",
                        channels = new List<string>()});
}
ISDN? actualISDN = getISDN(split);

if (index < ISDN_teilnehmer.Count())
{
     var numbers =
          from num in xISDN.XPathSelectElements("//member[name='number']")
               where num.IsAfter(xISDN) &&
                     num.IsBefore(ISDN_teilnehmer.ElementAt(index))
          select num;

     foreach (var nums in numbers)
     {
          if (nums.Element("name").Value == "number")
          {
               var nummer = nums.XPathSelectElements("value");
               var part_nummer =
                   from n in nummer
                   select n.Value;
               //string temp = part_nummer;

               actualISDN.Value.number = part_nummer;

           }
     }


正确读取所有内容,并将正确的数字存储在part_nummer中。

现在,我想使用actualISDN.Value.number = part_nummer将数字添加到列表中,但出现一条错误消息,提示它为cannot be implicitly converted

我要去哪里错了?

最佳答案

您正在尝试将字符串分配给看起来像IEnumerable的字符串。

var part_nummer = from n in nummer
    select n.Value;
//string temp = part_nummer;

actualISDN.Value.number = part_nummer;


您应该这样做:

var part_nummer = from n in nummer
    select n.Value;
//string temp = part_nummer;

actualISDN.Value.number = part_nummer.FirstOrDefault();

关于c# - 无法在C#中为列表添加值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1661590/

10-11 22:25
查看更多