c# - 如何将数据传递给列表?
问题描述
对于初学者的问题,我很抱歉。我很难弄清楚为什么我不能传递从 Console.Readline 获取的数据并将其传递给我的列表。
我正在努力提高编码能力,但我倾向于使事情变得过于复杂。
我在这里做的事完全愚蠢吗?
using System;
using System.Collections.Generic;
namespace BB1
{
public class Client
{
public string Telefon { get; set; }
public string Navn { get; set; }
public string Addresse { get; set; }
public int Postnummer { get; set; }
public string By { get; set; }
public string Email { get; set; }
List<string> client = new List<string>();
public void AddToList()
{
client.Add("Navn" + Navn + "Telefon" + Telefon);
}
public static void Main(string[] args)
{
var client = new Client();
int tl;
Console.WriteLine("Indtast dit navn her");
client.Navn = Console.ReadLine();
Console.Write("Indtast dit TLF nummer: ");
client.Telefon = Console.ReadLine();
bool success = int.TryParse(client.Telefon, out tl);
while (!success)
{
Console.WriteLine("Du har indtastet et ugyldigt nummer");
client.Telefon = Console.ReadLine();
success = int.TryParse(client.Telefon, out tl);
}
Console.WriteLine("TEST to see if client list is updated");
Console.ReadKey();
Console.WriteLine(client);
Console.ReadKey();
}```
**NEW CODE**
List<Client> client = new List<Client>();
public override string ToString()
{ return "Client: " + Navn + " " + Telefon; }
public static void Main(string[] args)
{
var client = new Client();
int tl;
Console.WriteLine("Indtast dit navn her");
client.Navn = Console.ReadLine();
Console.Write("Indtast dit TLF nummer: ");
client.Telefon = client.Add(Console.ReadLine());```
它给了我错误“客户端”不包含“添加”的定义,并且找不到接受“客户端”类型的第一个参数的可访问扩展方法“添加”(您是否缺少 using 指令或程序集引用
我该如何解决这个问题(对不起,我有点累了,整天都坐着这个)。
解决方案
首先在单独的 .cs 文件中添加类 Client。
public class Client
{
public string Telefon { get; set; }
public string Navn { get; set; }
public string Addresse { get; set; }
public int Postnummer { get; set; }
public string By { get; set; }
public string Email { get; set; }
public override string ToString()
{
return $"Navn: {Telefon}, Telefon: {Navn}, Addresse: {Addresse}, Postnummer: {Postnummer}, By: {By}, Email: {Email}";
}
}
然后在 Program.cs 文件中添加静态客户端列表列出客户端(请参阅下面的代码),您将在输入客户端数据后填写。
class Program
{
static List<Client> clients = new List<Client>();
static void Main(string[] args)
{
var client = new Client();
int tl;
Console.WriteLine("Indtast dit navn her");
client.Navn = Console.ReadLine();
Console.Write("Indtast dit TLF nummer: ");
client.Telefon = Console.ReadLine();
bool success = int.TryParse(client.Telefon, out tl);
while (!success)
{
Console.WriteLine("Du har indtastet et ugyldigt nummer");
client.Telefon = Console.ReadLine();
success = int.TryParse(client.Telefon, out tl);
}
clients.Add(client);
Console.WriteLine("TEST to see if client list is updated");
Console.WriteLine(client);
Console.WriteLine("Print all clients in list");
foreach (var c in clients)
{
Console.WriteLine(c.ToString());
}
Console.ReadLine();
}
}
在您的代码中,您将客户端列表定义为字符串列表,如果您想在客户端列表中添加字符串而不是客户端对象,您只需在客户端对象中填充数据后添加这行代码。
clients.Add($"Navn: {client.Navn}, Telefon: {client.Telefon}");
如果您希望您的代码正常工作,请不要忘记将客户列表称为客户。
List<string> client = new List<string>();
推荐阅读
- angular - 更改 firebase-messaging-sw.js 位置
- python - 如何将我的 django 路径设置为 http://127.0.0.1:8000/myproject/admin
- erlang - mnesia:read 在 mnesia 中使用表碎片时返回空,但有记录
- scala - 在播放控制器中注入模拟服务对象的依赖项,同时对其进行单元测试
- artifactory - JFrog Artifactory 中的本地仓库、远程仓库和虚拟仓库有什么区别
- javascript - 如何在 Javascript 中将“ArrayBuffer”转换为“SharedArrayBuffer”?
- python - 如何复制具有特定扩展名的文件夹目录中的文件并将其保存到新文件夹而不覆盖复制的文件?
- activejdbc - Is there a way to detach model object instances from the database?
- python - Python将矩阵插入另一个矩阵
- javascript - 使用函数在返回或抛出之间进行选择