【发布时间】:2015-12-02 15:56:50
【问题描述】:
我正在从 Javascript 向 C# 发送一个发布请求
Javascript
var name = "doe";
var ids = [1,2,3];
var parameter = {
ids : ids,
name : name,
groups: groups
}
C#
public string sampleMethod (Hashtable hashtable)
{
string name = hashtable["name"].toString();//works well
List<long> ids = (List<long>)hashtable["ids"];//doesnt work
}
我只想从 hashtable["ids"] 中获取值 [1,2,3] 然后将其转换为 long;
【问题讨论】:
-
我认为 long 不能直接转换,因此需要先转换
(List<long>) Convert.ToLong(hashtable["ids"])这个 sorf 的东西 -
您确定javascript值
[1, 2, 3]表示为List<long>吗?我建议它表示为数组 - 可能是 int 而不是 long。 -
同意@wudzik 问题和解决方法基本一样。
-
@wudzik 这根本不是重复的。他正在尝试转换哈希表的值,而不是键。
-
@user3770093 尝试
hashtable["ids"].GetType()以获取存储在哈希表中的类型的提示。也许在那之后你就知道要投射什么类型了。
标签: c# json post casting hashtable