Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#测试潜在对象列表是否包含字符串_C# - Fatal编程技术网

c#测试潜在对象列表是否包含字符串

c#测试潜在对象列表是否包含字符串,c#,C#,所以我对c#和一般的编码是全新的,所以我希望我的问题有意义。我在网上发现了类似的问题,但我的问题非常具体。首先,我有一个名为“敌人”的对象类,其中包含一系列属性 public class Enemy { public string EName { get; set; } public int EHealth { get; set; } public int EStamina { get; set; } public int EPower { get; set; }

所以我对c#和一般的编码是全新的,所以我希望我的问题有意义。我在网上发现了类似的问题,但我的问题非常具体。首先,我有一个名为“敌人”的对象类,其中包含一系列属性

public class Enemy
{
    public string EName { get; set; }
    public int EHealth { get; set; }
    public int EStamina { get; set; }
    public int EPower { get; set; }

    public Enemy(string ename, int ehealth, int estamina, int epower)
    {
        EName = ename;
        EHealth = ehealth;
        EStamina = estamina;
        EPower = epower;
    }
}
然后,在我的主要部分,我列出了一个新的“敌人”对象添加到:

List<Enemy> Enemies = new List<Enemy>();

现在,在创建时,新的敌人对象将添加到敌人列表中。但是,现在我不知道如何访问它们的属性:

Console.Writeline(enemy.EName);
^这已经不起作用了。我现在需要知道的是正确的语法,我已经准备好了:
谢谢所有一直在帮助我的人

你的问题就在这里 对于(int i=0;i请尝试以下方法:

        List<Enemy> Enemies = new List<Enemy>();// Declare your list

        // Loop To populate the list 
        for (int i = 1; i <= eNumber; i++)
        {
          Enemies.Add(new Enemy($"Goblin{i}", rndm.Next(6, 12), rndm.Next(6, 12), rndm.Next(6, 12)));
        }
        // Loop Throught The Enemies, Then you can access their status 
        for (int i = 0; i < Enemies.Count; i++)
        {
            Console.WriteLine(Enemies[i].EName,Enemies[i].EHealth,Enemies[i].EStamina,Enemies[i].EPower);
        }
列出敌人=新建列表();//声明您的列表
//循环以填充列表

对于(int i=1;i),玩家似乎根本没有输入任何内容。您是否发布了正确的代码?我看不到付款人输入任何内容的任何内容。用户在哪里输入怪物的名称?您可能需要类似Console.ReadKey()的内容允许用户输入,并将其设置为变量,以便您可以使用它与现有列表进行比较。类似于:`var userInput=Console.ReadKey();if(userInput={some compare value}){do Something;}else{do Something;}Since Console.ReadKey()只允许一个字符,你可以使用一个列表让他们从中选择:1.Goblin1,2.Goblin2,3.Goblin3.请输入一个数字…沿着这些线。你的循环创建敌人,然后打印出他们的统计信息。仅此而已,你的敌人列表从未被使用过,我不理解。下一步(6,12)
意味着掷两个骰子?谢谢,这确实会消除错误,但无论我是否键入有效答案,我都会得到“无效答案;再试一次”,然后循环甚至不会发生,我只会得到一个“按任意键继续…”@PineppleSurprise签出我的评论并尝试一下。你也可以使用while循环来继续比较用户数据。非常感谢!现在我不知道为什么,但是控制台。Writeline只会写EName,所以我尝试了Console.Writeline($“{敌人[I].EName},等等”),这使它完全工作。
Enemies.Add(new Enemy($"Goblin{i}", rndmHealth, rndmStamina, rndmPower));
Console.Writeline(enemy.EName);
        List<Enemy> Enemies = new List<Enemy>();// Declare your list

        // Loop To populate the list 
        for (int i = 1; i <= eNumber; i++)
        {
          Enemies.Add(new Enemy($"Goblin{i}", rndm.Next(6, 12), rndm.Next(6, 12), rndm.Next(6, 12)));
        }
        // Loop Throught The Enemies, Then you can access their status 
        for (int i = 0; i < Enemies.Count; i++)
        {
            Console.WriteLine(Enemies[i].EName,Enemies[i].EHealth,Enemies[i].EStamina,Enemies[i].EPower);
        }