如何使用作为参数传递给C#控制台应用程序的指针? 为了这个问题,我完全被这个问题弄得一团糟,我的问题也就此结束了。也许我问的是错误的问题,所以我会给出我反对的情景。
我有一个遗留应用程序,我无法编辑。遗留应用程序能够调用exe,此时它会将指针传递给外部数据列表(他们的语言,而不是我的语言)。
我有一个C#控制台应用程序,当旧应用程序调用C#控制台应用程序时,收到的参数是一个字符串。
的某种东西c4bds.WWW000054,1,c4bds.WWW000054,60025
我认为此字符串的一部分是描述遗留系统中工作站的值。但其余部分对我来说都没有任何意义。
在C ++控制台应用程序中,main可以是这样构建的......
int main(int argc, char *argv[])
我必须编写的应用程序由遗留应用程序调用,将在.NET中。 通常在.NET中使用引用而不是指针。
C#控制台应用程序中的主要内容通常如下所示......
int main(string[] args)
因此我的问题。如何解释调用应用程序发送的参数的值?或者,我怎样才能完成所需的功能?
答案 0 :(得分:3)
传递给控制台应用程序的参数不是指针(我不明白这是怎么回事,因为理论上两个不同的进程无法访问彼此的内存。)
您必须猜测这些值的含义,因为我不知道您的遗留应用程序(可能是<workstation>.<filename or ressource name>,<list index>
),但我可以告诉您如何在.Net控制台应用程序中读取参数。< / p>
它实际上和C ++中的一样(除了你没有变量argc
,因为你可以使用args.Length
获得参数的数量。)
你的所有参数都在数组args
中,第一个是程序名。
例如,如果您调用名为MyProg.exe
的.Net程序:
MyProg.exe argument1 argument2
你会有
args[0] = "MyProg.exe"
args[1] = "argument1"
args[2] = "argument2"