从控制台输入旅游的城市,通过属性获取该城市旅游需要花费的费用
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.");
}
}
}
请确保将示例中的城市名称、连接和价格替换为您的实际数据。这是一个简单的示例,您可以根据自己的需求扩展和优化它。