コード例 #1
0
ファイル: Person.cs プロジェクト: martsve/twistr
        public static List <Person> FromString(string contents)
        {
            var lines = contents.Replace("\r", "").Split("\n");
            var names = lines.First().Split('\t').Skip(1);
            var N     = names.Count();

            var preferences = lines.Skip(1);

            var people = new List <Person>();

            foreach (var name in names)
            {
                people.Add(new Person(name.Trim()));
            }

            foreach (var line in preferences.Where(x => x.Trim().Length > 0))
            {
                var w    = line.Split('\t');
                var type = CandyTypeParser.Parse(w[0]);
                for (int i = 0; i < N; i++)
                {
                    var value = double.Parse(w[i + 1].Trim(), CultureInfo.InvariantCulture);
                    people[i].Preferences.Add(type, value);
                }
            }

            return(people);
        }
コード例 #2
0
        public static List <CandyType> FromString(string contents)
        {
            var lines = contents.Replace("\r", "").Split("\n");
            var bag   = new List <CandyType>();

            foreach (var line in lines.Where(x => x.Trim().Length > 0))
            {
                var w     = line.Replace('\t', ' ').Trim().Split(' ');
                var type  = CandyTypeParser.Parse(w[0]);
                var value = w.Length > 1 ? int.Parse(w[1].Trim()) : 1;
                for (int i = 0; i < value; i++)
                {
                    bag.Add(type);
                }
            }
            return(bag);
        }