我刚刚开始C#,我以为自己可以写一些自己的东西。我试图编写一个写所有参数的程序,不像C ++,没有argc和argv。这是我的代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ArgWrite
{
class ArgWrite {
static void Main(string[] args)
{
int i;
i = 0;
int amt = ArgLenth(args);
for (i = 0; i <= amt; i++)
{
Console.WriteLine(args[i]);
}
Console.ReadKey(true);
}
private static int ArgLenth(string[] args)
{
return args[].Length();
}
private static void Write(string[] args, int i)
{
Console.WriteLine(args[i]);
}
}
}
请注意:VS2017提供了额外的功能来简化我的代码。
答案 0 :(得分:0)
您可以像删除int i; i= 0;
那样简单地执行此操作。有关for循环,while循环和while循环的更多信息,请参见:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/for
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ArgWrite
{
class ArgWrite {
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
string arg = args[i];
Console.WriteLine("arg index: [{i}] argument is {arg} ");
}
Console.ReadKey();
}
}
}
答案 1 :(得分:0)
您遇到以下错误:
return args[].Length();
应该是
return args.Length();
但是,我认为您可以编写简单的示例,而无需使用for语句,而只需使用foreach语句即可。 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/foreach-in
using System;
namespace test
{
class Program
{
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine($"{arg} ");
}
Console.ReadKey();
}
}
}