csharp 课题のアドバイス用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 课题のアドバイス用相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            // CSVを読み込む
            // CSVは、データがカンマ区切りになっているテキストファイル
            // 厳密にはダブルクオーテーションを含むとか含まないとかがあるので注意

            // File.ReadAllLinesでCSVファイルが行ごとの配列で取得できる。
            // Encoding.GetEnconding(932)はSHIFT_JISで読み込むため
            var data = File.ReadAllLines("data.csv", Encoding.GetEncoding(932));

            ////////////////////////////////////////
            // LINQで書いてみると                   //
            ////////////////////////////////////////
            var students = data
                .Skip(1) // 1行はヘッダー
                .Select(row => new Student
            {
                Name = row.Split(',')[0],
                EnglishPoint = int.Parse(row.Split(',')[1]),
                MathPoint = int.Parse(row.Split(',')[2]),
                SciencePoint = int.Parse(row.Split(',')[3])
            }).ToList();

            // 最大得点
            var maxPoint = 0;
            foreach (var student in students)
            {
                if (maxPoint < student.EnglishPoint)
                {
                    maxPoint = student.EnglishPoint;
                }
            }

            // 一致する生徒を探す
            Student maxPointStudent = null;
            foreach (var student in students)
            {
                if (maxPoint == student.EnglishPoint)
                {
                    maxPointStudent = student;
                    break;
                }
            }

            Console.WriteLine($"英語の最高得点者 名前={maxPointStudent.Name} 英語={maxPointStudent.EnglishPoint} 数学={maxPointStudent.MathPoint} 理科={maxPointStudent.SciencePoint}");
            Console.ReadKey();

            // LINQだと楽
            var maxEnglishPoint = students.Max(e => e.EnglishPoint);
            var maxEnglishPointStudent = students.FirstOrDefault(s => s.EnglishPoint == maxEnglishPoint);
            Console.WriteLine($"同じ人 {maxPointStudent.Name}={maxEnglishPointStudent.Name}");
            Console.ReadKey();
        }
    }

    public class Student
    {
        public string Name { get; set; }
        public int EnglishPoint { get; set; }
        public int MathPoint { get; set; }
        public int SciencePoint { get; set; }
    }
}

以上是关于csharp 课题のアドバイス用的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp B3_A_カーネルハック课题4キャラクタデバイス

csharp デバイスとSwapChainを作成のみの部分コード

javascript 非タッチデバイスなら「点击」,タッチデバイスなら「touchend」を実行

text [IPアドレスをバイトで表记させる处理をワンライナーで]コンソール上でIPアドレスをバイト表示する(by blacknon)より

markdown デバイス判定

javascript タッチデバイスかどうか判定