【发布时间】:2017-08-10 21:36:58
【问题描述】:
我试图弄清楚传递给 TryAppendDetailSet 函数的所有内容。我只是想确保我能从中得到一切。有人可以通过这种方式验证我没有遗漏任何东西。
foreach(KeyValuePair<string[], string[]> kvp in orderedList)
{
//i++;
//j++;
for(int i =0; i<kvp.Key.Length; i++)
{
for(int j=0;j<kvp.Value.Length;j++)
{
WriteLogEntry(LOG_ERRORS, LOG_FILE,"J= "+ j + " Kvp Key: " + kvp.Key[i] +" Kvp value: " + kvp.Value[j]);
}
}
if (!this.Batch.TryAppendDetailSet(documentID, kvp.Key, kvp.Value, false, out error))
{
WriteLogEntry(LOG_ERRORS, LOG_FILE, "TryAppendDetailSet Error at DocID: " + documentID + ", Error: " + error.Message + ", kvp.Key.Length = " + kvp.Key.Length.ToString());
}
}
如果我可以只在日志中打印出即时传递的键和值,那就太好了。
像这样,除了这不起作用,我相信它会在我的日志中输出类似 System.String 的东西。
foreach(KeyValuePair<string[], string[]> kvp in orderedList)
{
WriteLogEntry(LOG_ERRORS, LOG_FILE, "Key: " + kvp.Key.ToString() + "Value: " + kvp.Value.ToString());
if (!this.Batch.TryAppendDetailSet(documentID, kvp.Key, kvp.Value, false, out error))
{
WriteLogEntry(LOG_ERRORS, LOG_FILE, "TryAppendDetailSet Error at DocID: " + documentID + ", Error: " + error.Message + ", kvp.Key.Length = " + kvp.Key.Length.ToString());
}
还有这种类型的KVP叫什么?我很难用谷歌搜索它?具有两个数组的 KVP 在我看来就像是多维 KVP。
还有 TryAppendDetailSet(string,string[],object[],bool,error) 的格式 }
【问题讨论】:
-
使用字符串数组的 KVP 仍然只是一个 KVP。但是,在这里将两组数据配对似乎确实是一种滥用。无论哪种方式,都不清楚您要在这里实现什么。
-
我只想知道传递给 TryAppendDetailSet 函数的确切内容。我相信我正在使用嵌套的 for 循环将所有内容写到日志中。只是我不确定对于具有两个数组的这个 KVP,for each 是如何工作的。我假设它以与我的嵌套 for 循环将它们放入我的日志相同的方式遍历 KVP。我认为最好输出键和值,因为它们即将传递到函数中,请确保我的理解是正确的。
-
kvp.Key是一个字符串数组,kvp.Value也是。至于它在做什么,谁知道呢——我们没有代码可以看到。 -
这不是它用它做什么的问题,而是通过什么的问题。我一直在努力寻找一种将 kvp.Key 和 kvp.Value 值输出到日志的简单方法。为此,我想我可以为当前迭代做类似
myStringKey = kvp.key;myStringvalue = kvp.Value的事情,然后将我的新字符串输出到文件中。但是WriteLogEntry(LOG_ERRORS, LOG_FILE, "Key: " + kvp.Key.ToString() + "Value: " + kvp.Value.ToString());在我的日志中给了我这个。键:System.String[] 值:System.String[] -
就像我上面说的,
kvp.Key是一个字符串数组,你明白吗?
标签: c# .net keyvaluepair