我需要将所有DateTime值转换为String,虽然在我的项目中,我最后的所有代码都遵循1个函数,其中我有4个不同的Hashtables(实际上是CookComputing xmlrpc库的XmlRpcStruct对象)。
有没有办法没有迭代每个哈希表 - 我可以转换哈希表的值有datetime - >字符串。
没有迭代 - 我的意思是只是为了使处理更快,但我需要为嵌套的哈希表解决它,其中key也包含另一个哈希表。
答案 0 :(得分:1)
您可以在发送到该服务器之前处理您的哈希表。检查每个对象。它是否真的是一个DateTime,然后用适当格式的.ToString替换它。
public static void ProcessHT(Hashtable ht)
{
Hashtable dates = new Hashtable();
foreach(DictionaryEntry de in ht)
{
if (de.Value is DateTime)
dates.Add(de.Key, de.Value);
}
foreach(DictionaryEntry de in dates)
{
ht.Remove(de.Key);
ht.Add(de.Key, ((DateTime)de.Value).ToString("s"));
}
}
public static void RunSnippet()
{
Hashtable ht = new Hashtable();
ht.Add("1", "one");
ht.Add("date", DateTime.Today);
ht.Add("num", 1);
Print(ht);
WL("---");
ProcessHT(ht);
Print(ht);
}
private static void Print(Hashtable ht)
{
foreach (DictionaryEntry de in ht)
{
WL("{0} = {1}", de.Key, de.Value);
}
}
答案 1 :(得分:0)
为什么不能将日期转换为将其添加到哈希表中的时间?
myHashTable.Add("ADate", DateTime.Now.ToString());