使用了未赋值的局部变量
看如下的代码:for (int k = 1; k < axSuperMap1.Layers.Count; k++)
{
if (axSuperMap1.Layers[k].Caption == "3")
{
objDatasetVectorOri = (soDatasetVector )
axSuperMap1.Layers[k].Dataset;
break;
}
}
if (objDatasetVectorOri == null) return;
我已对变量赋值,但是他还提示没有赋值:
"使用了未赋值的局部变量“objDatasetVectorOri”" --------------------编程问答-------------------- 如何申明 objDatasetVectorOri 的? --------------------编程问答-------------------- 搞定了,原来我没有一开始将值初始化!(这是一个插件的接口)
objDatasetVectorOri 这是一个接口,所以在开始定义完后应该是
objDatasetVectorOri ==null; --------------------编程问答-------------------- 分数没了 --------------------编程问答-------------------- 果然是那个问题;
呵呵, --------------------编程问答-------------------- 楼主我也遇到你一样的问题啦!求教你怎么解决的:
int j;
j=axSuperMap1.Layers.Count;
soDatasetVector objedtv;
string strquerytxt;
soRecordset objrd;
soLayers objlys = axSuperMap1.Layers;
soLayer objly;
for (int i=0; i <= j; i++)
{
objly = objlys[i];
objedtv = (soDatasetVector)objly.Dataset;这句报错
strquerytxt = "name like '*" + this.querytext1.Text + "*'";
if (strquerytxt == null)
{ continue; }
objrd = objedtv.Query(strquerytxt, true, null, "");
this.axSuperMap1.selection.FromRecordset(objrd);
this.axSuperMap1.EnsureVisibleRecordset(objrd, 2);
this.axSuperMap1.Refresh();
} --------------------编程问答-------------------- 自己解决问题了,会记忆更深。
--------------------编程问答--------------------
+1 分给我们分了吧~ --------------------编程问答-------------------- objedtv 声明了但没有初始化。
--------------------编程问答-------------------- 接口new一个实现它的类,,,, --------------------编程问答-------------------- --------------------编程问答-------------------- 接分吧。。 --------------------编程问答-------------------- 嗯,可以接贴了 --------------------编程问答-------------------- 我还是不懂怎么初始化,c#刚刚接触还不怎么会!我的目的很简单实现查找地图中的所有图层各位帮个忙!很急
补充:.NET技术 , C#