Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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时向类添加一个成员#_C# - Fatal编程技术网

C# 我想在程序运行c时向类添加一个成员#

C# 我想在程序运行c时向类添加一个成员#,c#,C#,我试图在程序运行时向类添加成员。我的意思是我有这门课 class Program { public static void Main(string[] args) { ValorantAgent JettDescription = new ValorantAgent("Jett", "dash", "updraft", "smoke", "duelist");

我试图在程序运行时向类添加成员。我的意思是我有这门课

class Program
{
    public static void Main(string[] args)
    {
        ValorantAgent JettDescription = new ValorantAgent("Jett", "dash", "updraft", "smoke", "duelist");
        ValorantAgent OmenDescription = new ValorantAgent("Omen", "smoke", "teleport", "flash", "controller");
        ValorantAgent BreachDescription = new ValorantAgent("Breach", "seismic blast", "flash", "fusion charge", "initiator");
        ValorantAgent ReynaDescription = new ValorantAgent("Reyna", "dismiss", "devour", "leer", "duelist");
        ValorantAgent SovaDescription = new ValorantAgent("Sova", "Tracker dart", "Shock dart", "Drone", "Initiator");
        ValorantAgent BrimstoneDescription = new ValorantAgent("Brimstone", "Smoke", "Molly", "Stim Becon", "Controller");
        ValorantAgent ViperDescription = new ValorantAgent("Viper", "Toxic Screen", "Poison Cloud", "Toxic Molly", "Controller");
        ValorantAgent PhoenixDescription = new ValorantAgent("Phoenix", "Fire Molly", "Flash", "Fire Wall", "Duelist");
        ValorantAgent RazeDescription = new ValorantAgent("Raze", "Grenade", "Boom Bot", "Blast Pack", "Duelist");
        ValorantAgent SageDescription = new ValorantAgent("Sage", "Healing Orb", "Slow Orb", "Wall", "Sentinal");
        ValorantAgent CypherDescription = new ValorantAgent("Cypher", "Camera", "tripwire", "Cage", "Sentinal");
        ValorantAgent KillJoyDescription = new ValorantAgent("KillJoy", "Turret", "Molly", "Alarmbot", "Sentinal");

        int PlayerChoise = 0;

        Console.WriteLine("Hello User, What would you like to do?");
        Console.WriteLine("[1] See curent agents");
        Console.WriteLine("[2] Add a agent");
        Console.WriteLine("[3] Exit");

        PlayerChoise = Int32.Parse(Console.ReadLine());
       

        switch(PlayerChoise)
        {
            case 1:

                Console.Clear();


                Console.WriteLine("Pick an agent");

                string[] Agents = { "Jett", "Omen", "Breach", "Reyna", "Sova", "Brimstone", "Viper", "Phoenix", "Raze", "Sage", "Cypher", "Killjoy" };

                for (int i = 0; i < Agents.Length; i++)
                {
                    Console.WriteLine($"{i} = {Agents[i]}");
                }

                int Selection = int.Parse(Console.ReadLine());

                string selectedAgent = Agents[Selection];

                Console.WriteLine($"You selected {selectedAgent}");

                switch (selectedAgent.ToLower())
                {
                    case "jett":
                        Console.WriteLine($"Name: {JettDescription.AgentName}, Ability 1: {JettDescription.AgentAbility1} Ability 2: {JettDescription.AgentAbility2}, Ability 3: {JettDescription.AgentAbility3}, Agent Type: {JettDescription.AgentType}");
                        break;
                    case "omen":
                        Console.WriteLine($"Name: {OmenDescription.AgentName}, Ability 1: {OmenDescription.AgentAbility1} Ability 2: {OmenDescription.AgentAbility2}, Ability 3: {OmenDescription.AgentAbility3}, Agent Type: {OmenDescription.AgentType}");
                        break;
                    case "breach":
                        Console.WriteLine($"Name: {BreachDescription.AgentName}, Ability 1: {BreachDescription.AgentAbility1} Ability 2: {BreachDescription.AgentAbility2}, Ability 3: {BreachDescription.AgentAbility3}, Agent Type: {BreachDescription.AgentType}");
                        break;
                    case "reyna":
                        Console.WriteLine($"Name: {ReynaDescription.AgentName}, Ability 1: {ReynaDescription.AgentAbility1} Ability 2: {ReynaDescription.AgentAbility2}, Ability 3: {ReynaDescription.AgentAbility3}, Agent Type: {ReynaDescription.AgentType}");
                        break;
                    case "sova":
                        Console.WriteLine($"Name: {SovaDescription.AgentName}, Ability 1: {SovaDescription.AgentAbility1} Ability 2: {SovaDescription.AgentAbility2}, Ability 3: {SovaDescription.AgentAbility3}, Agent Type: {SovaDescription.AgentType}");
                        break;
                    case "brimstone":
                        Console.WriteLine($"Name: {BrimstoneDescription.AgentName}, Ability 1: {BrimstoneDescription.AgentAbility1} Ability 2: {BrimstoneDescription.AgentAbility2}, Ability 3: {BrimstoneDescription.AgentAbility3}, Agent Type: {BrimstoneDescription.AgentType}");
                        break;
                    case "viper":
                        Console.WriteLine($"Name: {ViperDescription.AgentName}, Ability 1: {ViperDescription.AgentAbility1} Ability 2: {ViperDescription.AgentAbility2}, Ability 3: {ViperDescription.AgentAbility3}, Agent Type: {ViperDescription.AgentType}");
                        break;
                    case "phoenix":
                        Console.WriteLine($"Name: {PhoenixDescription.AgentName}, Ability 1: {PhoenixDescription.AgentAbility1} Ability 2: {PhoenixDescription.AgentAbility2}, Ability 3: {PhoenixDescription.AgentAbility3}, Agent Type: {PhoenixDescription.AgentType}");
                        break;
                    case "raze":
                        Console.WriteLine($"Name: {RazeDescription.AgentName}, Ability 1: {RazeDescription.AgentAbility1} Ability 2: {RazeDescription.AgentAbility2}, Ability 3: {RazeDescription.AgentAbility3}, Agent Type: {RazeDescription.AgentType}");
                        break;
                    case "sage":
                        Console.WriteLine($"Name: {SageDescription.AgentName}, Ability 1: {SageDescription.AgentAbility1} Ability 2: {SageDescription.AgentAbility2}, Ability 3: {SageDescription.AgentAbility3}, Agent Type: {SageDescription.AgentType}");
                        break;
                    case "cypher":
                        Console.WriteLine($"Name: {CypherDescription.AgentName}, Ability 1: {CypherDescription.AgentAbility1} Ability 2: {CypherDescription.AgentAbility2}, Ability 3: {CypherDescription.AgentAbility3}, Agent Type: {CypherDescription.AgentType}");
                        break;
                    case "killJoy":
                        Console.WriteLine($"Name: {KillJoyDescription.AgentName}, Ability 1: {KillJoyDescription.AgentAbility1} Ability 2: {KillJoyDescription.AgentAbility2}, Ability 3: {KillJoyDescription.AgentAbility3}, Agent Type: {KillJoyDescription.AgentType}");
                        break;
                }
                break; //case 1/see current agents break
            case 2://add agent case
                Console.Clear();

                Console.WriteLine("Coming soon!");
                

                break; //case 2/add agent break
        }







        Console.ReadLine();
    }
}
类程序
{
公共静态void Main(字符串[]args)
{
ValorantAgent JetDescription=新的ValorantAgent(“Jett”、“dash”、“updraft”、“smoke”、“duelist”);
ValorantAgent OmenDescription=新的ValorantAgent(“预兆”、“烟雾”、“传送”、“闪光”、“控制器”);
ValorantAgent Breakdescription=新的ValorantAgent(“破裂”、“地震爆炸”、“闪光”、“聚变装药”、“发起者”);
ValorantAgent ReynaDescription=新的ValorantAgent(“雷纳”,“解散”,“吞噬”,“利尔”,“决斗者”);
ValorantAgent SovadeDescription=新的ValorantAgent(“Sova”、“追踪镖”、“冲击镖”、“无人机”、“启动器”);
ValorantAgent硫磺描述=新的ValorantAgent(“硫磺”、“烟”、“莫莉”、“刺激贝康”、“控制器”);
ValorantAgent ViperDescription=新的ValorantAgent(“毒蛇”、“毒屏”、“毒云”、“毒茉莉”、“控制器”);
ValorantAgent PhoenixDescription=新的ValorantAgent(“凤凰”、“火茉莉”、“闪光”、“防火墙”、“决斗列表”);
ValorantAgent RazedDescription=新的ValorantAgent(“Raze”、“手榴弹”、“Boom Bot”、“爆炸包”、“决斗列表”);
ValorantAgent SageDescription=新的ValorantAgent(“Sage”、“治疗球”、“慢球”、“墙”、“哨兵”);
ValorantAgent CypherDescription=新ValorantAgent(“Cypher”、“Camera”、“tripwire”、“Cage”、“Sentinal”);
ValorantAgent KillJoy description=新的ValorantAgent(“KillJoy”、“炮塔”、“Molly”、“Alarmbot”、“Sentinal”);
int PlayerChoise=0;
WriteLine(“你好,用户,您想做什么?”);
Console.WriteLine(“[1]参见当前代理”);
Console.WriteLine(“[2]添加代理”);
控制台写入线(“[3]退出”);
PlayerChoise=Int32.Parse(Console.ReadLine());
开关(播放器选择)
{
案例1:
Console.Clear();
Console.WriteLine(“选择代理”);
字符串[]代理={“杰特”、“预兆”、“决裂”、“雷纳”、“索瓦”、“硫磺”、“毒蛇”、“凤凰”、“拉兹”、“圣人”、“塞弗”、“杀手锏”};
for(int i=0;iclass Program
{
    public static void Main(string[] args)
    {
        ValorantAgent JettDescription = new ValorantAgent("Jett", "dash", "updraft", "smoke", "duelist");
        ValorantAgent OmenDescription = new ValorantAgent("Omen", "smoke", "teleport", "flash", "controller");
        ValorantAgent BreachDescription = new ValorantAgent("Breach", "seismic blast", "flash", "fusion charge", "initiator");
        ValorantAgent ReynaDescription = new ValorantAgent("Reyna", "dismiss", "devour", "leer", "duelist");
        ValorantAgent SovaDescription = new ValorantAgent("Sova", "Tracker dart", "Shock dart", "Drone", "Initiator");
        ValorantAgent BrimstoneDescription = new ValorantAgent("Brimstone", "Smoke", "Molly", "Stim Becon", "Controller");
        ValorantAgent ViperDescription = new ValorantAgent("Viper", "Toxic Screen", "Poison Cloud", "Toxic Molly", "Controller");
        ValorantAgent PhoenixDescription = new ValorantAgent("Phoenix", "Fire Molly", "Flash", "Fire Wall", "Duelist");
        ValorantAgent RazeDescription = new ValorantAgent("Raze", "Grenade", "Boom Bot", "Blast Pack", "Duelist");
        ValorantAgent SageDescription = new ValorantAgent("Sage", "Healing Orb", "Slow Orb", "Wall", "Sentinal");
        ValorantAgent CypherDescription = new ValorantAgent("Cypher", "Camera", "tripwire", "Cage", "Sentinal");
        ValorantAgent KillJoyDescription = new ValorantAgent("KillJoy", "Turret", "Molly", "Alarmbot", "Sentinal");

        int PlayerChoise = 0;

        Console.WriteLine("Hello User, What would you like to do?");
        Console.WriteLine("[1] See curent agents");
        Console.WriteLine("[2] Add a agent");
        Console.WriteLine("[3] Exit");

        PlayerChoise = Int32.Parse(Console.ReadLine());
       

        switch(PlayerChoise)
        {
            case 1:

                Console.Clear();


                Console.WriteLine("Pick an agent");

                string[] Agents = { "Jett", "Omen", "Breach", "Reyna", "Sova", "Brimstone", "Viper", "Phoenix", "Raze", "Sage", "Cypher", "Killjoy" };

                for (int i = 0; i < Agents.Length; i++)
                {
                    Console.WriteLine($"{i} = {Agents[i]}");
                }

                int Selection = int.Parse(Console.ReadLine());

                string selectedAgent = Agents[Selection];

                Console.WriteLine($"You selected {selectedAgent}");

                switch (selectedAgent.ToLower())
                {
                    case "jett":
                        Console.WriteLine($"Name: {JettDescription.AgentName}, Ability 1: {JettDescription.AgentAbility1} Ability 2: {JettDescription.AgentAbility2}, Ability 3: {JettDescription.AgentAbility3}, Agent Type: {JettDescription.AgentType}");
                        break;
                    case "omen":
                        Console.WriteLine($"Name: {OmenDescription.AgentName}, Ability 1: {OmenDescription.AgentAbility1} Ability 2: {OmenDescription.AgentAbility2}, Ability 3: {OmenDescription.AgentAbility3}, Agent Type: {OmenDescription.AgentType}");
                        break;
                    case "breach":
                        Console.WriteLine($"Name: {BreachDescription.AgentName}, Ability 1: {BreachDescription.AgentAbility1} Ability 2: {BreachDescription.AgentAbility2}, Ability 3: {BreachDescription.AgentAbility3}, Agent Type: {BreachDescription.AgentType}");
                        break;
                    case "reyna":
                        Console.WriteLine($"Name: {ReynaDescription.AgentName}, Ability 1: {ReynaDescription.AgentAbility1} Ability 2: {ReynaDescription.AgentAbility2}, Ability 3: {ReynaDescription.AgentAbility3}, Agent Type: {ReynaDescription.AgentType}");
                        break;
                    case "sova":
                        Console.WriteLine($"Name: {SovaDescription.AgentName}, Ability 1: {SovaDescription.AgentAbility1} Ability 2: {SovaDescription.AgentAbility2}, Ability 3: {SovaDescription.AgentAbility3}, Agent Type: {SovaDescription.AgentType}");
                        break;
                    case "brimstone":
                        Console.WriteLine($"Name: {BrimstoneDescription.AgentName}, Ability 1: {BrimstoneDescription.AgentAbility1} Ability 2: {BrimstoneDescription.AgentAbility2}, Ability 3: {BrimstoneDescription.AgentAbility3}, Agent Type: {BrimstoneDescription.AgentType}");
                        break;
                    case "viper":
                        Console.WriteLine($"Name: {ViperDescription.AgentName}, Ability 1: {ViperDescription.AgentAbility1} Ability 2: {ViperDescription.AgentAbility2}, Ability 3: {ViperDescription.AgentAbility3}, Agent Type: {ViperDescription.AgentType}");
                        break;
                    case "phoenix":
                        Console.WriteLine($"Name: {PhoenixDescription.AgentName}, Ability 1: {PhoenixDescription.AgentAbility1} Ability 2: {PhoenixDescription.AgentAbility2}, Ability 3: {PhoenixDescription.AgentAbility3}, Agent Type: {PhoenixDescription.AgentType}");
                        break;
                    case "raze":
                        Console.WriteLine($"Name: {RazeDescription.AgentName}, Ability 1: {RazeDescription.AgentAbility1} Ability 2: {RazeDescription.AgentAbility2}, Ability 3: {RazeDescription.AgentAbility3}, Agent Type: {RazeDescription.AgentType}");
                        break;
                    case "sage":
                        Console.WriteLine($"Name: {SageDescription.AgentName}, Ability 1: {SageDescription.AgentAbility1} Ability 2: {SageDescription.AgentAbility2}, Ability 3: {SageDescription.AgentAbility3}, Agent Type: {SageDescription.AgentType}");
                        break;
                    case "cypher":
                        Console.WriteLine($"Name: {CypherDescription.AgentName}, Ability 1: {CypherDescription.AgentAbility1} Ability 2: {CypherDescription.AgentAbility2}, Ability 3: {CypherDescription.AgentAbility3}, Agent Type: {CypherDescription.AgentType}");
                        break;
                    case "killJoy":
                        Console.WriteLine($"Name: {KillJoyDescription.AgentName}, Ability 1: {KillJoyDescription.AgentAbility1} Ability 2: {KillJoyDescription.AgentAbility2}, Ability 3: {KillJoyDescription.AgentAbility3}, Agent Type: {KillJoyDescription.AgentType}");
                        break;
                }
                break; //case 1/see current agents break
            case 2://add agent case
                Console.Clear();

                Console.WriteLine("Coming soon!");
                

                break; //case 2/add agent break
        }







        Console.ReadLine();
    }
}
Dictionary<string, ValorantAgent> agents = new Dictionary<string, ValorantAgent> {
    {"Jett", new ValorantAgent("Jett", "dash", "updraft", "smoke", "duelist")},
    {"Omen", new ValorantAgent("Omen", "smoke", "teleport", "flash", "controller")},
    {"Breach", new ValorantAgent("Breach", "seismic blast", "flash", "fusion charge", "initiator")},
    {"Reyna", new ValorantAgent("Reyna", "dismiss", "devour", "leer", "duelist")},
    {"Sova", new ValorantAgent("Sova", "Tracker dart", "Shock dart", "Drone", "Initiator")},
    {"Brimstone", new ValorantAgent("Brimstone", "Smoke", "Molly", "Stim Becon", "Controller")},
    {"Viper", new ValorantAgent("Viper", "Toxic Screen", "Poison Cloud", "Toxic Molly", "Controller")},
    {"Phoenix", new ValorantAgent("Phoenix", "Fire Molly", "Flash", "Fire Wall", "Duelist")},
    {"Raze", new ValorantAgent("Raze", "Grenade", "Boom Bot", "Blast Pack", "Duelist")},
    {"Sage", new ValorantAgent("Sage", "Healing Orb", "Slow Orb", "Wall", "Sentinal")},
    {"Cypher", new ValorantAgent("Cypher", "Camera", "tripwire", "Cage", "Sentinal")},
    {"KillJoy", new ValorantAgent("KillJoy", "Turret", "Molly", "Alarmbot", "Sentinal")}
};
string[] agentsNames = { "Jett", "Omen", "Breach", "Reyna", "Sova", "Brimstone", "Viper", "Phoenix", "Raze", "Sage", "Cypher", "Killjoy" };

int selection = int.Parse(Console.ReadLine());

// you might want to check whether selection is out of range first...
ValorantAgent selectedAgent = agents[agentsNames[selection]];

Console.WriteLine($"You selected {selectedAgent.AgentName}");

Console.WriteLine($"Name: {selectedAgent.AgentName}, Ability 1: {selectedAgent.AgentAbility1} Ability 2: {selectedAgent.AgentAbility2}, Ability 3: {selectedAgent.AgentAbility3}, Agent Type: {selectedAgent.AgentType}");
break;
ValorantAgent newAgent = new ValorantAgent(...);
agents.Add(newAgent.AgentName, newAgent);
using System.Collections.Generic;
class Program
{
    public static void Main(string[] args)
    {
        var agentDictionary = new Dictionary<string, ValorantAgent>();
        agentDictionary.Add("Jett", new ValorantAgent("Jett", "dash", "updraft", "smoke", "duelist"));
        agentDictionary.Add("Omen", new ValorantAgent("Omen", "smoke", "teleport", "flash", "controller"));
        agentDictionary.Add("Breach", new ValorantAgent("Breach", "seismic blast", "flash", "fusion charge", "initiator"));
        agentDictionary.Add("Reyna", new ValorantAgent("Reyna", "dismiss", "devour", "leer", "duelist"));
        agentDictionary.Add("Sova", new ValorantAgent("Sova", "Tracker dart", "Shock dart", "Drone", "Initiator"));
        agentDictionary.Add("Brimstone", new ValorantAgent("Brimstone", "Smoke", "Molly", "Stim Becon", "Controller"));
        agentDictionary.Add("Viper", new ValorantAgent("Viper", "Toxic Screen", "Poison Cloud", "Toxic Molly", "Controller"));
        agentDictionary.Add("Phoenix", new ValorantAgent("Phoenix", "Fire Molly", "Flash", "Fire Wall", "Duelist"));
        agentDictionary.Add("Raze", new ValorantAgent("Raze", "Grenade", "Boom Bot", "Blast Pack", "Duelist"));
        agentDictionary.Add("Sage", new ValorantAgent("Sage", "Healing Orb", "Slow Orb", "Wall", "Sentinal"));
        agentDictionary.Add("Cypher", new ValorantAgent("Cypher", "Camera", "tripwire", "Cage", "Sentinal"));
        agentDictionary.Add("KillJoy", new ValorantAgent("KillJoy", "Turret", "Molly", "Alarmbot", "Sentinal"));

        int PlayerChoice = 0;

        Console.WriteLine("Hello User, What would you like to do?");
        Console.WriteLine("[1] See current agents");
        Console.WriteLine("[2] Add a agent");
        Console.WriteLine("[3] Exit");

        PlayerChoice = Int32.Parse(Console.ReadLine());

        switch(PlayerChoise)
        {
            case 1:

                Console.Clear();

                Console.WriteLine("Pick an agent");

                string[] Agents = agentDictionary.Keys.ToArray(); //rewriting the names of all agents is not needed

                for (int i = 0; i < Agents.Length; i++)
                {
                    Console.WriteLine($"{i} = {Agents[i]}");
                }

                int Selection = int.Parse(Console.ReadLine());

                string selectedAgent = Agents[Selection];

                Console.WriteLine($"You selected {selectedAgent}");

                Console.WriteLine($"Name: {agentDictionary[selectedAgent].AgentName}, Ability 1: {agentDictionary[selectedAgent].AgentAbility1} Ability 2: {agentDictionary[selectedAgent].AgentAbility2}, Ability 3: {agentDictionary[selectedAgent].AgentAbility3}, Agent Type: {agentDictionary[selectedAgent].AgentType}");
                
                break; //case 1/see current agents break
            case 2://add agent case
                Console.Clear();