C#中如何将object类型转换为字符串数组啊?高分相送

张大于 2004-04-23 06:24:48
OPCServer TheServer=new OPCServer();
object StrServers=TheServer.GetOPCServers("127.0.0.1");
string[] strs;
strs=(string[])StrServers;
编译通过,但执行时出现异常。
...全文
1311 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
athossmth 2004-04-25
zhangchaoyu,试试这个可以吗?

OPCServer TheServer = new OPCServer();
object objectOpcServers = (object) TheServer.GetOPCServers("127.0.0.1");
System.array arrayOpcServers = (System.array)objectOpcServers;
IEnumerator ieOpcServers = arrayOpcServer.GetEnumerator();

ieOpcServers.Reset();
for (ieOpcServers.Reset();ieOpcServers.MoveNext();)
{
string stringOpcServer = (string)ieOpcServers.Current;
// 这里应该就是得到的结果。
}
回复
张大于 2004-04-24
jacklupig(jacklupig) :
Convert.ToString(val)这个函数是转换为字符串,能转换为字符串数组吗?
回复
张大于 2004-04-24
athossmth(athos):

我试过了,发生了同样的异常。很奇怪
回复
张大于 2004-04-23
TheServer.GetOPCServers("127.0.0.1"); 是从本机返回OPC服务器的列表。是一个字符串数组。
在VS.NET中单步执行时,提示为“System.Array”“object”,里面确实能够罗列出了本机上的服务器名(字符串),并且是一维数组。但使用我的代码编译能通过,执行就出现异常。
各位的提议我还未来的及使用,使用过后再给分。先谢
回复
jacklupig 2004-04-23
Convert.ToString(val)这个不成吗?
书上说val可以是各种类型的变量
回复
starheart 2004-04-23
先转换成字符,再分割成数组不行吗
回复
athossmth 2004-04-23
sorry,少删了,应该这样:

OPCServer TheServer=new OPCServer();
string[] strs = (string[]) TheServer.GetOPCServers("127.0.0.1");
回复
athossmth 2004-04-23
OPCServer TheServer=new OPCServer();
string[] strs = (string[]) StrServers=TheServer.GetOPCServers("127.0.0.1");

这样写。
回复
athossmth 2004-04-23
lijun84说的部队,这是个类型转换的问题。
回复
曲滨_銘龘鶽 2004-04-23
TheServer.GetOPCServers("127.0.0.1");
返回的是数组吗?
回复
wolftop 2004-04-23
需要重载[],也就是C#中索引器的概念~!你看一下MSDN就明白了!~
回复
linuxnew 2004-04-23
你的StrServers到底是什么类型?是数组还是一个string?
奇怪
回复
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-04-23 06:24
社区公告

让您成为最强悍的C#开发者