2017-04-08 85 views
1

我打电话documentdb SELECT COUNT在C#这样检索动态值类型变量

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

从查询的结果是动态类型变量计数持有的价值{2}

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

+0

结果始终将这种格式{任意数量}? –

+0

是的,这是正确的 – doorman

回答

1

试试这个

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

您还可以使用正则表达式来实现这一

Jquery get substring between parenthesis

请不要忘了提及你的结果。

0

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

0

根据我的理解,当您检索结果时,可以指定在调用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