【问题标题】:Retrieve value from dynamic typed variable从动态类型变量中检索值
【发布时间】:2017-04-08 10:26:12
【问题描述】:

我在 c# 中这样调用 documentdb select count

var result = await this.documentClient.CreateDocumentQuery<int>(documentCollectionUri, sql).AsDocumentQuery().ExecuteNextAsync();
var count = result.FirstOrDefault(); // {2}

查询的结果是动态类型变量计数,其中包含值 {2}

从变量中检索值 2 的最佳方法是什么?

【问题讨论】:

  • 结果总是采用这种格式{任意数字}?
  • 是的,没错

标签: c# azure-cosmosdb


【解决方案1】:

试试这个

var indx1 = result.IndexOf("{");
var indx2 = result.IndexOf("}");
str = str.Substring(indx1+1, indx2-1);

你也可以使用正则表达式来实现这个

Jquery get substring between parenthesis

请不要忘记提及您的结果。

【讨论】:

    【解决方案2】:

    调用 count.ToString() 实际上给了我“2”,然后我将其解析为 int。

    【讨论】:

      【解决方案3】:

      根据我的理解,您可以在检索结果时指定调用IDocumentQuery.ExecuteNextAsync 时返回的对象的类型,而无需显式类型转换。您可以按如下方式修改您的代码:

      var result = await this.documentClient.CreateDocumentQuery<int>("{documentCollectionUri}","select value count(1) from c").AsDocumentQuery().ExecuteNextAsync<int>();
      var count = result.FirstOrDefault(); // 2,int
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-15
        • 1970-01-01
        • 2016-04-23
        • 1970-01-01
        • 1970-01-01
        • 2021-04-07
        • 2021-12-29
        相关资源
        最近更新 更多