您的位置:程序门 -> .net技术 ->



读取注册表键值,保存为字符串的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


读取注册表键值,保存为字符串的问题[已结贴,结贴人:utada776]
发表于:2007-11-05 10:49:53 楼主
读取注册表键值,保存为字符串
reg--
      ¦--taskid     0x00032d
      ¦--taskname   mytaks

代码如下,读取注册表键名为taskid的项,调试代码发现明明已经找到键名taskid,
并复值给cs了,但是compareto()就是认为cd字符串不为"taskid"
不能返回true.   请问我的代码哪有问题?

registrykey   rksub   =   ..............;
string[]   sta   =   rksub.getvaluenames();
for(int   i=0;i <sta.length;i++)
{
      string   cs   =   sta[i];  
      if(cs.compareto("taskid")==0)       ///??????????
      {
            return   true;
      }
}
发表于:2007-11-05 11:14:051楼 得分:10

直接用等号就行啊

if(sta[i]   ==   "taskid")
{  
        return   true;  
}
发表于:2007-11-05 14:22:072楼 得分:0
我改用等好了   还是不行,不知怎么搞得
我把代码都贴上来

private   uint   getregrecord(bool   ipenopertype)
                {
                        registrykey   rklocalm   =   registry.localmachine;
                        const   string   strsubkey   =   @"software\mytest\reg";
                        registrykey   rksub   =   rklocalm.opensubkey(strsubkey,   true);

                        if   (rksub   !=   null)
                        {
                                string[]   strdata   =   rksub.getvaluenames();
                                for   (int   i   =   0;   i   <   strdata.length;   i++)
                                {
                                        string   cs   =   strdata[i];
                                        if(cs=="taskid")//????????就是这里,总认为cs字符串不为   "taskid   "  
                                                    return   convert.touint32(rksub.getvalue(strdata[i]).tostring());
                     
                                }
                        }
                        return   0;
                }

拜托
发表于:2007-11-05 14:33:403楼 得分:30
string       cs       =       strdata[i];  
if(cs==   "taskid   ")
改成  
string       cs       =   "taskid   "
  if(cs==   strdata[i])

这样看下
发表于:2007-11-05 14:47:184楼 得分:10
是不是有空串?


快速检索

最新资讯
热门点击