Solo per amor di discussione, utilizzando il codice di esempio che hai dato in cui le variabili proc memorizzati vengono letteralmente chiamati variabe1, variable2, ecc ... si potrebbe fare qualcosa di simile:
string[] myValues = new string[] { "myvalue1", "myvalue2", "myvalue3", "myvalue4", "myvalue5", "myvalue6" };
for (int i = 0; i < 6; i++) { cmd.Parameters.AddWithValue("@variable" + (i + 1),myValues[i]); }
2 righe di codice brutto ... LOL
Un ciclo come questo può tornare utile se avessi detto 25-50 valori, anche se non lo vedo molto spesso. E si potrebbe utilizzare 2 campi, uno per i nomi delle variabili e uno per i valori, fino a quando gli indici corrispondono, allora questo dovrebbe funzionare:
string[] myVarNames = new string[] { "variable1", "variable2", "variableThree", "variable4our", "variableFIVE", "variableSIX" };
string[] myValues = new string[] { "myvalue1", "myvalue2", "myvalue3", "myvalue4", "myvalue5", "myvalue6" };
for (int i = 0; i < 6; i++)
{
cmd.Parameters.AddWithValue("@" + myVarNames[i], myValues[i]);
}
fonte
2014-07-23 19:05:46
io non sono sicuro perché si sta cercando di comprimere questo, ma io sono abbastanza sicuro che il modo in cui si sta facendo è la più modo semplice e compatto. –
Non c'è modo di renderlo più corto. Perché vuoi? Potresti usare una libreria completamente diversa o qualcosa che la automatizza, ma non sarebbe più economica, ma solo diversa. –
Solo curiosità onestamente. Risulta che non c'è un modo più breve! – user3808188