Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Practice_1
- {
- class Program
- {
- static void Main(string[] args)
- {
- // List版
- var students = File.ReadLines("data.csv", Encoding.GetEncoding(932))
- .Skip(1)
- .Select(row =>
- {
- var cols = row.Split(',');
- return new Student
- {
- StudentName = cols[0],
- EnglishPoint = int.Parse(cols[1]),
- MathPoint = int.Parse(cols[2]),
- SceincePoint = int.Parse(cols[3]),
- };
- });
- // リスト版
- var studentsList = students.ToList();
- // 配列版
- var studentsArray = students.ToArray();
- // List.Sort
- new List<Student> { }.Sort((x, y) => x.EnglishPoint - y.EnglishPoint);
- // Array.Sort
- // ↑と↓とで使い方が違うみたい。
- Array.Sort(studentsList.ToArray(), (x, y) => x.EnglishPoint - y.EnglishPoint);
- // Sortだとリストでも、配列でもなんでも使える。
- // (厳密にいうとIEnumerableインターフェースを実装していれば)
- var sortedStudentsFromList = studentsList.OrderBy(student => student.EnglishPoint);
- var sortedStudentsFromArray = studentsArray.OrderBy(student => student.EnglishPoint);
- }
- public class Student
- {
- public string StudentName { get; set; }
- public int EnglishPoint { get; set; }
- public int MathPoint { get; set; }
- public int SceincePoint { get; set; }
- }
- }
- }
Add Comment
Please, Sign In to add comment