从控制台输入旅游的城市,通过属性获取该城市旅游需要花费的费用

从控制台输入旅游的城市,通过属性获取该城市旅游需要花费的费用

using System;
class CityExpense
{
    public int Beijing { get { return 1000; } }
    public int Shanghai { get { return 2000; } }
}
class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("请输入 Beijing 或者 Shanghai");
        string city = Console.ReadLine();
        Console.WriteLine(typeof(CityExpense).GetProperty(city).GetValue(new CityExpense(), null).ToString());
    }
}

我不打算自己写,我用chartgtp,看看chartgpt怎么说(我不保证chartgpt的代码可以直接运行,只是告诉你我们大概的可以用的方式,以及chartgpt认为实现后代码大概长啥样)
问题:

C# ,构造一个邻接矩阵,描述城市和城市的关系和价格,并查询从城市A到城市B的价格

ChatGPT回答:

在C#中,您可以使用多维数组来构造邻接矩阵,描述城市之间的关系和价格。首先,您需要创建一个二维数组,其中行和列表示城市,矩阵中的值表示价格或关系。接下来,您可以编写一个函数来查询从城市A到城市B的价格。以下是一个简单的示例:

using System;

class CityGraph
{
    private int[,] adjacencyMatrix;
    private string[] cities;

    public CityGraph(int numCities)
    {
        adjacencyMatrix = new int[numCities, numCities];
        cities = new string[numCities];
    }

    public void AddCity(int index, string cityName)
    {
        cities[index] = cityName;
    }

    public void AddConnection(int cityAIndex, int cityBIndex, int price)
    {
        adjacencyMatrix[cityAIndex, cityBIndex] = price;
        adjacencyMatrix[cityBIndex, cityAIndex] = price; // Assuming bidirectional connections
    }

    public int GetPriceFromCityAtoCityB(string cityA, string cityB)
    {
        int cityAIndex = Array.IndexOf(cities, cityA);
        int cityBIndex = Array.IndexOf(cities, cityB);

        if (cityAIndex >= 0 && cityBIndex >= 0)
        {
            return adjacencyMatrix[cityAIndex, cityBIndex];
        }
        else
        {
            return -1; // Cities not found
        }
    }
}

class Program
{
    static void Main()
    {
        CityGraph cityGraph = new CityGraph(3); // Replace 3 with the number of cities you have
        cityGraph.AddCity(0, "CityA");
        cityGraph.AddCity(1, "CityB");
        cityGraph.AddCity(2, "CityC");

        cityGraph.AddConnection(0, 1, 50); // CityA to CityB costs 50
        cityGraph.AddConnection(1, 2, 30); // CityB to CityC costs 30

        string fromCity = "CityA";
        string toCity = "CityB";
        int price = cityGraph.GetPriceFromCityAtoCityB(fromCity, toCity);

        if (price >= 0)
        {
            Console.WriteLine($"The price from {fromCity} to {toCity} is {price}.");
        }
        else
        {
            Console.WriteLine("Cities not found or no connection.");
        }
    }
}

请确保将示例中的城市名称、连接和价格替换为您的实际数据。这是一个简单的示例,您可以根据自己的需求扩展和优化它。