Я собираю C# и как упражнение для новичков, я попытался закодировать простой список турниров Tekken. Проблема в том, что я не могу найти способ применения метода класса Fighter
ко всему списку бойцов, так как нет имен переменной или, по крайней мере, я думаю, что это проблема.Применение метода ко всем экземплярам класса внутри списка
using System;
using System.Collections.Generic;
namespace TekkenConsoleTournament
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Enter nicknames of players, finished by 0: \n");
int numFighter=0;
String nickname;
List <Fighter> allFighters = new List<Fighter>();
while ((nickname = Console.ReadLine()) != "") {
allFighters.Add(new Fighter(nickname));
numFighter ++;
}
Console.WriteLine(allFighters.ForEach(Fighter.getName()));
Console.WriteLine(foreach(Fighter in allFighters) {getName();});
//for (int counter = 0; counter <= fighter; counter++) {
// Fighter[counter.getName();
//}
}
}
}
И Fighter.cs
using System;
namespace TekkenConsoleTournament
{
public class Fighter
{
private int matches, won, lost, draw;
String name;
public Fighter (String name)
{
this.matches = this.won = this.lost = 0;
this.name = name;
}
public void wonMatch()
{
matches++;won++;
}
public void lostMatch()
{
matches++;lost++;
}
public void drawMatch()
{
matches++;draw++;
}
public int[] getStats()
{
int[] stats = {this.matches,this.won,this.lost,this.draw};
return stats;
}
public String getName()
{
return this.name;
}
}
}
Сначала я хотел бы напечатать имена всех бойцов, то, возможно, статистика, а затем в качестве упражнения попробуйте сделать код помните, кто воевал, кто и поместить их в двумерную матрицу, основанную на результате боя.
Можете ли вы предоставить свой класс Fighter? И что именно вы хотите, показать имена всех бойцов? –
Вы хотите поместить код Console.WriteLine внутри цикла foreach. –
Несколько указателей (условные обозначения): классы, имена методов и имена свойств должны быть PascalCased (т. Е. Public void DrawMatch()). Методы, которые только получают/устанавливают значение, обычно должны быть свойствами (т.е. public String getName() должно быть общедоступным. String Name {get {return this.name;}}. Вы можете (и * I * сказать * should *) использовать ' string' вместо 'String' (так же, как вы используете' int', а не 'Int32' – flipchart