主代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace text_test
{
class Program
{
static void Main(string[] args)
{
txt_program tt = new txt_program();
string[] output_txt = tt.txt;
}
}
}
出现错误:
声明无法将方法组'txt'转换为非委托类型'string[]'。
我应该写什么来代替string[]
?被调用的代码看起来像这样:
(与上述相同的系统调用)。
namespace text_test
{
class txt_program
{
public void txt(string[] args)
{
// Take 5 string inputs -> Store them in an array
// -> Write the array to a text file
// Define our one ad only variable
string[] names = new string[5]; // Array to hold the names
string[] names1 = new string[] { "max", "lars", "john", "iver", "erik" };
for (int i = 0; i < 5; i++)
{
names[i] = names1[i];
}
// Write this array to a text file
StreamWriter SW = new StreamWriter(@"txt.txt");
for (int i = 0; i < 5; i++)
{
SW.WriteLine(names[i]);
}
SW.Close();
}
}
}
如果你只想写一个数组到文件
static void Main(string[] args) {
string[] namess = new string[] {
"max", "lars", "john", "iver", "erik" };
File.WriteAllLines(@"txt.txt", names);
}
如果你坚持用流分隔类:
class txt_program {
// () You don't use "args" in the method
public void txt(){
string[] names = new string[] { "max", "lars", "john", "iver", "erik" };
// wrap IDisposable (StreamWriter) into using
using (StreamWriter SW = new StreamWriter(@"txt.txt")) {
// do not use magic numbers - 5.
// You want write all items, don't you? Then write them
foreach (var name in names)
SW.WriteLine(name);
}
}
}
...
static void Main(string[] args){
// create an instance and call the method
new txt_program().txt();
}
public void txt(string[] args){}
删除参数"string[] args",不需要。
像这样调用方法tt.txt ();
void方法不返回任何值
所以不要尝试获取字符串数组