C# 泛型绩点计算器代码示例

想要用 C# 计算平均绩点 (GPA)? 这篇博客提供了一个使用泛型的灵活解决方案。

以下是代码示例:csharpusing System;using System.Collections.Generic;

public class GradeCalculator{ private Dictionary<T, double> gradePoints;

public GradeCalculator()    {        gradePoints = new Dictionary<T, double>();    }

public void AddGradePoint(T grade, double point)    {        gradePoints.Add(grade, point);    }

public double CalculateGPA(List<T> grades)    {        double totalPoints = 0;        int totalCredits = grades.Count;

    foreach (T grade in grades)        {            if (gradePoints.ContainsKey(grade))            {                totalPoints += gradePoints[grade];            }            else            {                throw new Exception('Invalid grade');            }        }

    return totalPoints / totalCredits;    }}

public class Program{ public static void Main(string[] args) { // 使用字符串类型的成绩 GradeCalculator stringGradeCalculator = new GradeCalculator(); stringGradeCalculator.AddGradePoint('A', 4.0); stringGradeCalculator.AddGradePoint('B', 3.0); stringGradeCalculator.AddGradePoint('C', 2.0); stringGradeCalculator.AddGradePoint('D', 1.0); stringGradeCalculator.AddGradePoint('F', 0.0);

    List<string> grades = new List<string> { 'A', 'B', 'C', 'A', 'B' };

    double gpa = stringGradeCalculator.CalculateGPA(grades);        Console.WriteLine('GPA: ' + gpa);

    // 使用整数类型的成绩        GradeCalculator<int> intGradeCalculator = new GradeCalculator<int>();        intGradeCalculator.AddGradePoint(90, 4.0);        intGradeCalculator.AddGradePoint(80, 3.0);        intGradeCalculator.AddGradePoint(70, 2.0);        intGradeCalculator.AddGradePoint(60, 1.0);        intGradeCalculator.AddGradePoint(0, 0.0);

    List<int> intGrades = new List<int> { 90, 80, 70, 90, 80 };

    double intGpa = intGradeCalculator.CalculateGPA(intGrades);        Console.WriteLine('GPA: ' + intGpa);    }}

代码说明:

  1. GradeCalculator<T> 类: * 使用泛型 T 来处理不同类型的成绩(例如,字符串或整数)。 * AddGradePoint 方法添加成绩和对应的绩点。 * CalculateGPA 方法计算给定成绩列表的 GPA。

  2. Main 方法: * 演示如何使用 GradeCalculator 类计算字符串和整数类型的成绩的 GPA。

这个示例展示了 C# 泛型的强大功能,可以创建灵活且可复用的代码来处理不同类型的数据。

C# 泛型绩点计算器 - 灵活计算不同类型成绩

原文地址: https://www.cveoy.top/t/topic/fMtN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录