C# 分析特定值的字符串

C# 分析特定值的字符串,c#,string,parsing,split,C#,String,Parsing,Split,我试图解析包含“Enter q to quit或使用以下格式名D、C、D:minQ或R:carast将整个数据作为逗号分隔的字符串”的字符串,以检查用户是否键入“D:”或“R:”,并根据哪一个,实例化特定类型的对象,Decaf decaffee=new Decaf for“D”:和Regular regCoffee=针对“R:”的新常规。最简单的方法是什么 Console.Write("Enter q to quit or the whole data as a comma de

我试图解析包含“Enter q to quit或使用以下格式名D、C、D:minQ或R:carast将整个数据作为逗号分隔的字符串”的字符串,以检查用户是否键入“D:”或“R:”,并根据哪一个,实例化特定类型的对象,Decaf decaffee=new Decaf for“D”:和Regular regCoffee=针对“R:”的新常规。最简单的方法是什么

        Console.Write("Enter q to quit or the whole data as a comma delimited string using the following format Name,D,C,D:minQ or R:roast ");
        string s = Console.ReadLine();


        // Loop
        while (!s.ToLower().Equals("q"))
        {
            string[] values = s.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); // Trim?
            string name = values[0];
            string demand = (values[1]);
            string cost = (values[2]);
            string min = values[3];

            // Check for > 0 and convert to numbers
            float D = CheckDemand(demand);
            float C = CheckCost(cost);
            float M = CheckMin(min);

            // Create object
            Decaf decafCoffee = new Decaf

使用and
if
statement如何在字符串的最后一个值中找到“D:”或“R:”的值?格式是否会更改?如果不尝试
IndexOf
SubString
。或者您可能是坏的,可以使用regexCan来确认两种不同类型的有效输入字符串是什么?从你的描述我有点不清楚。。。
Decaf decafCoffee = null;
Roast roastCoffee = null;
if (min.StartsWith("D:")) 
    decafCoffee = new Decaf();
else if (min.StartsWith("R:"))
    roastCoffee = new Roast();
else
    // Give an error or something.