如何使用作为参数传递给C#控制台应用程序的指针?

时间:2013-05-16 21:17:35

标签: c# pointers console-application

如何使用作为参数传递给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)

因此我的问题。如何解释调用应用程序发送的参数的值?或者,我怎样才能完成所需的功能?

1 个答案:

答案 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"