C# 方法将tsv文件中包含的文本打印到控制台
我正在尝试打印我创建的两个方法,但我不知道怎么做 我的项目由Language.cs文件和Program.cs文件组成 Language.cs中的此方法:C# 方法将tsv文件中包含的文本打印到控制台,c#,methods,C#,Methods,我正在尝试打印我创建的两个方法,但我不知道怎么做 我的项目由Language.cs文件和Program.cs文件组成 Language.cs中的此方法: public static void PrettyPrintAll(IEnumerable<Language> langs) { foreach (var printsAll in langs) { Console.WriteLine(printsAll.Prettif
public static void PrettyPrintAll(IEnumerable<Language> langs)
{
foreach (var printsAll in langs)
{
Console.WriteLine(printsAll.Prettify());
}
}
public string Prettify()
{
return $"{Year}, {Name}, {ChiefDeveloper}, {Predecessors}";
}
public static void PrintAll(IEnumerable<Object> sequence)
{
foreach (var prints in sequence)
{
Console.WriteLine(prints);
}
}
此方法打印出每个查询结果(也是使用Language.cs):
所有方法都在Language.cs文件中。
我的问题是我不知道如何打印它们,我尝试了很多方法,但总是得到一个错误代码“PrintAll”名称在当前上下文中不存在或类似的东西
总的来说,这就是我尝试调用PrintAll方法的方式:
var stringLanguage = languages.Select(languagePrint => $"{languagePrint.Year}
{languagePrint.Name} {languagePrint.ChiefDeveloper}");
PrintAll(stringLanguage);
static
方法PrintAll()
属于类Language
,并从另一个类requirer调用它以首先在类名前面加上前缀,例如Language.PrintAll()
但是,我不鼓励使用此选项,因为这可能会导致混淆显示类
语言
@cid您是指语言类中的所有代码吗?似乎在该类中没有方法Prettify()
,您需要将该方法放置在class@Cid问题中的第二个代码块是修饰方法
var stringLanguage = languages.Select(languagePrint => $"{languagePrint.Year}
{languagePrint.Name} {languagePrint.ChiefDeveloper}");
PrintAll(stringLanguage);
public static void Main()
{
// some code ...
var stringLanguage = languages.Select(languagePrint => $"{languagePrint.Year} {languagePrint.Name} {languagePrint.ChiefDeveloper}");
// PrintAll(stringLanguage); <-- This won't work because there is no method PrintAll() in the current class
// This now refers to the correct class where the method belongs
Language.PrintAll(stringLanguage);
}
// replace namespace by the correct namespace of the class
using static namespace.Language;
class Program
{
public static void Main()
{
// some code ...
var stringLanguage = languages.Select(languagePrint => $"{languagePrint.Year} {languagePrint.Name} {languagePrint.ChiefDeveloper}");
// This now works because the static parts were imported
PrintAll(stringLanguage);
}
}