do this without using an “if” | if(s == “value1”){…} else if(s == “value2”) { …}

前端 未结 18 1994
温柔的废话
温柔的废话 2021-01-30 09:36

According to anti-if campaign it is a best practice not to use ifs in our code. Can anyone tell me if it possible to get rid of the if in this piece of code ? (switch is also

18条回答
  •  一生所求
    2021-01-30 09:52

    Here goes mine. Using LINQ and Factory Pattern :D

    class FactoryString
        {
        static FactoryString()
        {
        private static Dictionary dictionary = new Dictionary 
        { 
            {"foo", "some logic here"},
            {"bar", "something else here"},
            {"raboof", "of course I need more than just Writeln"},
        };
    }
    
    public static string getString(string s)
    {
        return dictionary.Single(x => x.Key.Equals(s)).Value;
    }
    

    }

    static void main()
    {
      Console.WriteLine(FactoryString.getString("foo"));
    }
    

提交回复
热议问题