C# Can';不要读取对等记录
我正在使用此代码阅读同行数据和评论:C# Can';不要读取对等记录,c#,p2p,peer,pnrp,C#,P2p,Peer,Pnrp,我正在使用此代码阅读同行数据和评论: public Dictionary<int, string> ResolvePeerMethod() { Dictionary<int, string> peerInfo = new Dictionary<int, string>(); int count = 0; string[] peerinfo = new string[1]; PeerNameResolver resolver =
public Dictionary<int, string> ResolvePeerMethod()
{
Dictionary<int, string> peerInfo = new Dictionary<int, string>();
int count = 0;
string[] peerinfo = new string[1];
PeerNameResolver resolver = new PeerNameResolver();
PeerName peerName123 = new PeerName("peer id");
PeerNameRecordCollection results = resolver.Resolve(peerName123);
foreach (PeerNameRecord record in results)
{
if (record.Comment != null)
{
peerinfo[0] = record.Comment;
peerInfo.Add(0, peerinfo[0]);
}
if (record.Data != null)
{
peerinfo[1] = (System.Text.Encoding.ASCII.GetString(record.Data));
peerInfo.Add(1, peerinfo[1]);
}
}
return peerInfo;
}
公共字典解析peermethod()
{
Dictionary peerInfo=新字典();
整数计数=0;
string[]peerinfo=新字符串[1];
PeerNameResolver解析器=新的PeerNameResolver();
PeerName PeerName 123=新的PeerName(“对等id”);
PeerNameRecordCollection结果=解析器.Resolve(peerName123);
foreach(结果中的PeerNameRecord记录)
{
if(record.Comment!=null)
{
peerinfo[0]=记录.注释;
peerInfo.Add(0,peerInfo[0]);
}
if(record.Data!=null)
{
peerinfo[1]=(System.Text.Encoding.ASCII.GetString(record.Data));
添加(1,peerInfo[1]);
}
}
返回peerInfo;
}
这应该返回一个包含数据和注释的字典,但它只是跳过代码,因为它在对等方中找不到任何记录。在控制台中运行相同的代码是有效的。
对等id
正确;我已经检查过好几次了。您说的是resolver.Resolve(peerName123)
返回一个空集合,并且从未输入foreach
块?顺便说一句,只是关于样式的一点说明,如果有两个变量的名称仅因大小写不同而不同,这是相当令人困惑的,尤其是当只有字母I
/I
不同时。似乎peerinfo
可以被作用域为foreach
循环的标量string
替换。@BACON是的,它返回一条没有值的记录