C#和IDL二次开发的时候,我想传递一个简单的一维数组,但结果总是不是我想要的,关键代码如下:
答案:2 悬赏:70 手机版
解决时间 2021-03-07 16:47
- 提问者网友:書生途
- 2021-03-06 18:04
string[] inputfiles = new string[2]{ "abc", "def" }; string IdlCommand = "layer_stacking,'" + inputfiles + "','" + outputfile + "'"; pCOM_IDL.ExecuteString(IdlCommand); IDL代码就一句话: tmp=dialog_message(string(inputfiles),/infor) 就是把inputfiles传递给IDL再显示一下,我得到的结果总是“system.string[]”,而不是我想要的abc def,请问这是为什么?怎么解决?谢谢!
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-03-06 19:24
数组在C#不能直接用+号连接,你可以考虑一下将数组拼接一下,也就是
string IdlCommand = "layer_stacking,'" + inputfiles + "','" + String.Join(",",inputfiles)+ "'";
string IdlCommand = "layer_stacking,'" + inputfiles + "','" + String.Join(",",inputfiles)+ "'";
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-03-06 20:41
这样看你是否明白:
首先要有一个叫user的类,定义三个属性,分别是account,name,password以记录帐户,姓名,密码资料:
class user
{
public string account
{get;set;}
public string name
{get;set;}
public string password
{get;set;}
}
class program
{
static void main()
{
//定义有三个元素的数组,这样第一个元素就是一个user对象:
user[] usergroup=new user[2];
//访问元素需要加中括号以及元素编号
usergroup[0]=new user();//这样就实例化第一个数组元素。
usergroup[0].account="1241414141412";//给第一个元素的account属性赋值为1241414141412
.........//其他的意思就一样了。
foreach(user u in usergroup)
{
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯