How do you get the index of the current iteration of a foreach loop?

后端 未结 30 1690
刺人心
刺人心 2020-11-22 07:05

Is there some rare language construct I haven\'t encountered (like the few I\'ve learned recently, some on Stack Overflow) in C# to get a value representing the current iter

30条回答
  •  名媛妹妹
    2020-11-22 07:17

    I built this in LINQPad:

    var listOfNames = new List(){"John","Steve","Anna","Chris"};
    
    var listCount = listOfNames.Count;
    
    var NamesWithCommas = string.Empty;
    
    foreach (var element in listOfNames)
    {
        NamesWithCommas += element;
        if(listOfNames.IndexOf(element) != listCount -1)
        {
            NamesWithCommas += ", ";
        }
    }
    
    NamesWithCommas.Dump();  //LINQPad method to write to console.
    

    You could also just use string.join:

    var joinResult = string.Join(",", listOfNames);
    

提交回复
热议问题