Windows phone 7 Windows Phone 7 UserExtendedProperties
在这里被指示后: 我在侧加载的应用程序上尝试了以下代码。写出来的只是000001值 我知道仿真器中会出现这种情况,但我希望它在我的手机上时能得到真正的价值。有什么想法吗Windows phone 7 Windows Phone 7 UserExtendedProperties,windows-phone-7,Windows Phone 7,在这里被指示后: 我在侧加载的应用程序上尝试了以下代码。写出来的只是000001值 我知道仿真器中会出现这种情况,但我希望它在我的手机上时能得到真正的价值。有什么想法吗 int ANIDLength = 32; int ANIDOffset = 2; string result = string.Empty; object anid;
int ANIDLength = 32;
int ANIDOffset = 2;
string result = string.Empty;
object anid;
if (UserExtendedProperties.TryGetValue("ANID", out anid))
{
if (anid != null && anid.ToString().Length >= (ANIDLength + ANIDOffset))
{
result = anid.ToString().Substring(ANIDOffset, ANIDLength);
}
else
{
result = "000001";
}
}
您需要从长度检查的计算中删除1,以说明在基于零的索引上进行的子字符串操作:
if (anid != null && anid.ToString().Length >= (ANIDLength + ANIDOffset - 1))
这在我的机器上工作:
private string GetAnid()
{
object anidValue;
int ANIDLength = 32;
int ANIDOffset = 2;
if (UserExtendedProperties.TryGetValue("ANID", out anidValue))
{
if (anidValue != null && anidValue.ToString().Length >= (ANIDLength + ANIDOffset - 1))
{
return anidValue.ToString().Substring(ANIDOffset, ANIDLength);
}
else
{
return "???";
}
}
else
{
return "???";
}
}
您正在打印
result
的值吗?实际上,我正在将result的值发送到一个Web服务,该服务将一条记录插入我的表中。Jeff,请参阅。谢谢@阿扬-请看我下面的评论。我删除了它,因为我的代码中有一个bug。从技术上讲,我这样做是正确的,但是,我错放了我的结果变量,它过度写入了anid。所以我不想让它成为一个正在寻找解决方案的人的分心。我只是尝试了一下,然后重新部署到我的手机上,但它不起作用。我仍然得到000001。@杰夫,我和其他三个用户一起投票取消删除。在收到满意的答案后删除问题是不应该的。@Pekka-我同意!然而,我删除它的原因是它是我代码中的一个bug。所以这个问题真的是无效的。。。由于我的原始代码工作正常,除了我将results变量放在if之后,它总是将其设置为000001。我不想让它成为一个分心的人实际上需要知道如何做到这一点。。。