c# - 数组 c# 初学者
问题描述
我不太了解数组,我需要创建一个“歌曲数组”类型的变量,然后将其初始化为一个新数组,以便它可以存储 4 个对歌曲的引用。然后我将如何创建一个循环,该循环将运行足够的时间来填充数组,同时调用该InputSOngDetails()
方法并将返回值存储在该方法中?
namespace Songs
{
class Program
{
static void Main(string[] args) {
InputSongDetails();
}
static Song InputSongDetails()
{
Console.WriteLine("What is the name of your song");
string name = Console.ReadLine();
Console.WriteLine("What is the artists name");
string artist = Console.ReadLine();
int records;
Console.WriteLine("How many records did it sell");
while (!int.TryParse(Console.ReadLine(), out records) || records < 0)
{
Console.WriteLine("That is not valid please enter a number");
}
return new Song(name, artist, records);
}
}
}
如果需要,这是我的歌曲课
namespace Songs
{
class Song
{
string name;
string artist;
int copiesSold;
public Song(string name, string artist, int copiesSold)
{
this.name = name;
this.artist = artist;
this.copiesSold = copiesSold;
}
public Song()
{
}
public string GetArtist()
{
return artist;
}
public string GetDetails()
{
return $"Name: {name} Artist: {artist} Copies Sold: {copiesSold},";
}
public string GetCertification()
{
if (copiesSold<200000)
{
return null;
}
if (copiesSold<400000)
{
return "Silver";
}
if (copiesSold<600000)
{
return "gold";
}
return "Platinum";
}
}
}
解决方案
拳头,用 初始化你的歌曲数组,然后一个简单的循环就足够了。new Song[ length ]
for
static void Main(string[] args)
{
Song[] songs = new Song[4];
for(int i = 0; i < songs.Length; i++)
{
songs[i] = InputSongDetails();
}
}
或者正如评论者所建议的那样,只需使用 variable-length List<Song>
。
static void Main(string[] args)
{
List<Song> songs = new List<Song>();
for(int i = 0; i < 4; i++)
{
songs.Add(InputSongDetails());
}
}
一旦你掌握了基础知识,你也可以用一点 Linq 来完成这个(尽管在这种情况下我实际上并不推荐它):
static void Main(string[] args)
{
var songs = Enumerable.Range(0, 4)
.Select(i => InputSongDetails())
.ToList();
}
推荐阅读
- javascript - 根据索引对数组值进行分组和平均
- python - 下载文件 raw.githubusercontent.com 非常慢
- typescript - 通过搜索嵌套对象属性过滤对象数组
- android-emulator - 设置中的应用程序在 Android Q(Beta 3)模拟器中崩溃
- node.js - 如何访问如下所示的 JSON 密钥:{ ' "TimePeriod"': '2019-05-15'
- c# - 由于主键重复错误,无法将任何实体插入表中
- html - 在 Angular 7 中,选择下拉值 id 传递给 ngFor 列表中的所有选择下拉列表
- google-apps-script - 我的 If 语句没有返回基于单元格为空白或有数据的值
- r - 合并具有相似信息的行
- python - 为什么我的 Python 包找不到我的类?