¿Cómo definir variables int a1, a2, a3, a4, a5 en C# y asignar valores uno por uno en forma de índice?
Deseche las variables a1, a2, use un diccionario
Diccionario & lt cadena,? int y gt? ¿Un diccionario? =?¿Nuevo? diccionario<string,? int & gt();
Diccionario. agregar("a1",1);? //Agregar variable a1,? El valor es un 1
diccionario. Agregar("a2 ", 2);
Diccionario. add(" a178 ", 4);
Diccionario. add("a179",5);
Diccionario["a"? +?1.ToString()]? =?100;? //Establece el valor de la variable a1 en 100, bueno, trátalo como una variable. ?
Diccionario["a"? +?2.ToString()]? =?200;
var? ¿índice? =?178;
Diccionario["a"? +?índice. ToString()]? =?400;
Diccionario["a179"]? =?500;2. Si las variables son tipos de referencia, puede colocarlas en un contenedor y luego usar el índice del contenedor para señalarlas.
Pero int es un tipo de valor, por lo que esto no es fácil.
Cambie int al tipo citado Qint (la nueva clase int escrita por el propio fudge)
O use una cuerda o algo así.
///?& ltSummary& gt
///?Encapsula la estructura del tipo especificado como un valor numérico en el atributo da.
///?& ltpara & gtConveniente para cálculos complejos, paso de parámetros y escritura de guiones. </para>?
///?& lt/summary & gt;
///?& lttypeparam? name = " T " & gt debe ser una estructura sin valores nulos
¿Pública? ¿clase? Valor
¿Público? t? ¿Papá? {?¿conseguir? {?¿devolver? conseguir();? }?¿configuración? {?establecer(valor);? }?}
¿Público? Valor()? {?}
¿Público? ¿Valor (valor t?)? {?Da? =?valor;? }
¿Público? ¿Virtual? t? conseguir()? {?¿devolver? da;? }
¿Público? ¿Virtual? ¿Vacío? establecer (valor T?)? {?Da? =?valor;? }
¿Público? ¿Electricidad estática? ¿implícito? ¿operador? t(valor numérico
¿Público? ¿Estático? ¿Explícito? ¿Operador? Valor numérico
}?
¿Público? ¿Clase? Qint?:? Valor numérico
¿Público? {?}
¿Público? {?}
¿Estático? (valor);? a1? =? "0",? a3? =?"0",?a5?
Lista<String>? =?Nueva?Lista<String()? ,?a4,?a5?};
¿Soy un contenedor[1]?
¿Es un contenedor[2] =?"4";
¿Soy un contenedor? ="5";
¿Soy un contenedor[4]? =?"6";
¿Soy un contenedor? ;3. Utilice la reflexión. Pero esto es ineficiente.
Reflexión;
¿Público? ¿clase? Clase de reflexión
{
¿Pública? int? a1? =?1;
¿Público? int? a2? =?2;
¿Público? int? a3? =?3;
¿Anulado? ¿Obtener variable (int? Número de serie)? {
¿Clase de reflexión? ¿Instancia de clase de reflexión? =?¿Nuevo? Clase de reflexión();
¿Tipo? t? =?Typeof(clase de reflexión);? //Obtiene la clase donde se encuentra a1.
¿Información de campo? ¿Información variable? =?t.GetField("a "?+?Serial number.ToString()); //Obtener la información de la variable de a1.
var? ¿Valor ganado? =? (entero) información de la variable. GetValue (instancia de clase de reflexión); //Obtiene el valor de la instancia donde se encuentra a1.
Información variable. SetValue (instancia de clase de reflexión, 3); // ¿Copiar el valor de la instancia donde se encuentra a1? =?三
}
}