How to convert string array to dictionary with value as index and string as key in C#

3 Answers

0 votes
using System;
using System.Linq;
 
class Program
{
    static void Main() {
        string[] arr = { "c#", "java", "c", "c++", "python" };
 
        var dictionary = Enumerable.Range(0, arr.Length).ToDictionary(x => arr[x]);
        
        foreach (var dic in dictionary)
            Console.WriteLine("{0} - {1}", dic.Key, dic.Value);
    }
}
 
 
 
/*
run:
 
c# - 0
java - 1
c - 2
c++ - 3
python - 4
 
*/

 



answered Mar 9, 2021 by avibootz
0 votes
using System;
using System.Linq;
 
class Program
{
    static void Main() {
        string[] arr = { "c#", "java", "c", "c++", "python" };
 
        var dictionary = arr.Select((value, index) => new { value, index })
                            .ToDictionary(pair => pair.value, pair => pair.index);
                      
        foreach (var dic in dictionary)
            Console.WriteLine("{0} - {1}", dic.Key, dic.Value);
    }
}
 
 
 
/*
run:
 
c# - 0
java - 1
c - 2
c++ - 3
python - 4
 
*/

 



answered Mar 9, 2021 by avibootz
0 votes
using System;
using System.Collections.Generic;
 
class Program
{
    static void Main() {
        string[] arr = { "c#", "java", "c", "c++", "python" };
 
        var dictionary = new Dictionary<string, int>();
        
        for (int i = 0; i < arr.Length; i++) {
            dictionary[arr[i]] = i;
        }
                      
        foreach (var dic in dictionary)
            Console.WriteLine("{0} - {1}", dic.Key, dic.Value);
    }
}
 
 
 
/*
run:
 
c# - 0
java - 1
c - 2
c++ - 3
python - 4
 
*/

 



answered Mar 9, 2021 by avibootz
...