Convierta una matriz a diccionario con valor como índice del elemento y clave como el propio elemento.

Tengo una matriz como

arr[0] = "Name";
arr[1] = "Address";
arr[2] = "Phone";
...

Quiero crear unDictionary<string, int> de tal manera que los valores de la matriz serán las claves del diccionario y los valores del diccionario serán el índice, de modo que pueda obtener el índice de una columna consultando su nombre enO(1). Sé que esto debería ser bastante simple, pero no puedo entenderlo.

Lo intenté -

Dictionary<string, int> myDict = arr.ToDictionary(x => x, x => indexOf(x))

sin embargo, esto vuelve -

{(Name, 0), (Address, 0), (Phone, 0),...}

Sé que esto sucede porque está almacenando el índice de la primera aparición, pero eso no es lo que estoy buscando hacer.

Respuestas a la pregunta(2)

Su respuesta a la pregunta