【问题标题】:How can i Return Dictionary<string,string> values我如何返回 Dictionary<string,string> 值
【发布时间】:2017-11-12 23:21:00
【问题描述】:

Query 类返回应该返回 Dictionary 以在主类中检索

        class Query
        {
            public Dictionary<string, string> RunQueryWithParameters(string sim_input,string CommandTxt, Dictionary<string, string> parameters)
            {

                        OracleDataReader reader = cursCmd.ExecuteReader();
                        if(reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                ods_columns.Add("mob_no", reader.GetString(0));                        
                                ods_columns.Add("card_no", reader.GetString(1));
                                ods_columns.Add("account", reader.GetString(2));
                                ods_columns.Add("name", reader.GetString(3));
                                reader.NextResult();
                            }
                        Console.ReadLine();
                        reader.Close();
                        reader.Dispose();
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.ReadLine();                  
                    }

                    conn.Close();
                }
                return columns;
            }        
        }

我尝试在主类函数中调用RunQueryWithParameters

但没有返回值..请帮助#

   static void main()
    {
        Dictionary<string, string> result=new Dictionary<string,string>;
        sting input="test";
        Query test=new Query();
        Query.RunQueryWithParameters(input,string "GET_DOC_DATA", result);
        console.writeline(result["mob_no"]);
        console.writeline(result["card_no"]);
        console.writeline(result["account"]);
        console.writeline(result["name"]);
    }

【问题讨论】:

  • 什么是“ods_columns”?为什么要返回“列”?
  • 我将 ods_columns 更改为 columns 。但忘记在 ralcle 阅读器中进行更改...无论如何错误不在这里.. 我要求调用 ods_columns.Add("mob_no", reader.GetString(0));在main方法中
  • 在 main 方法中,您没有将方法的返回值捕获到任何东西。您如何期望结果具有预期的输出?
  • 那条指令放在哪里?我们还应该看到其他代码吗?
  • 是的,我隐藏了连接字符串和参数......并更改了变量名

标签: c# asp.net asp.net-mvc-3 dictionary datareader


【解决方案1】:

直接使用ToDictionary方法。

var result = 
  // as Jon Skeet pointed out, OrderBy is useless here, I just leave it 
  // show how to use OrderBy in a LINQ query
  myClassCollection.OrderBy(mc => mc.SomePropToSortOn)
                   .ToDictionary(mc => mc.KeyProp.ToString(), 
                                 mc => mc.ValueProp.ToString(), 
                                 StringComparer.OrdinalIgnoreCase);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多