重複の可能性:
ループの内側または外側で変数を宣言する方が良いですか?
Resharperは私にこれを変更することを望んでいます:
int Platypus;
string duckBill1;
string duckBill2;
string duckBill3;
. . .
using (OracleDataReader odr = ocmd.ExecuteReader()) {
    while (odr.Read()) {
        Platypus = odr.GetInt32("Platypus");
        duckBill1 = odr.GetString("duckBill1");
        duckBill2 = odr.GetString("duckBill2");
        duckBill3 = odr.GetString("duckBill3");
        switch (Platypus) {
        . . .
...これに:
using (OracleDataReader odr = ocmd.ExecuteReader()) {
    while (odr.Read()) {
        int Platypus = odr.GetInt32("Platypus");
        string duckBill1 = odr.GetString("duckBill1");
        string duckBill2 = odr.GetString("duckBill2");
        string duckBill3 = odr.GetString("duckBill3");
        switch (Platypus) {
        . . .
...しかし、このように(少なくとも、そう思われますが)varsはN回宣言されており、whileループを通過するたびに1回ずつ宣言されています。Resharperizedの方法は、元の方法よりも本当に優れていますか?