c# - 访问添加到数组中的对象参数
问题描述
我想知道如何访问 ListArray 1 并打印添加到该 ListArray 的对象的参数之一
主程序:
namespace ConsoleApp1 {
class Program
{
static void Main(string[] args)
{
UserDetails ud = new UserDetails();
List<TaskDetails> taskDetails = new List<TaskDetails>();
Console.Write("Please enter User ID: ");
string i = Console.ReadLine();
Console.Write("Please enter username: ");
string s = Console.ReadLine();
ud.SetDetails(i, s);
int cnt = int.Parse(Console.ReadLine());
for (int x=1; x <= cnt; x++)
{
Console.Write("Please enter title for Task: " + x + " ");
string title = Console.ReadLine();
TaskDetails td = new TaskDetails();
td.SetTask(i, title);
taskDetails.Add(td);
}
PrintDetails pd = new PrintDetails();
}
}
}
任务详情
namespace ConsoleApp1
{
class TaskDetails
{
private string UserID { set; get; }
private string TaskTitle { set; get; }
private List<TaskDetails> TaskList = new List<TaskDetails>();
public TaskDetails() { }
public List<TaskDetails> GetTaskList
{
get { return TaskList; }
}
public void SetTask(string userID, string taskTitle)
{
this.UserID = userID;
this.TaskTitle = taskTitle;
}
}
}
这是我用来访问TaskDetails类中的ArrayList的类,我希望能够通过索引及其参数之一访问数组中的对象
namespace ConsoleApp1
{
class PrintDetails
{
public void print(int i)
{
TaskDetails qw = new TaskDetails();
List<TaskDetails> MyList1 = qw.GetTaskList;
Console.WriteLine(qw.GetTaskList);
}
}
}
解决方案
所以我认为你面临的问题是,当你创建一个新的 TaskDetails 时,你初始化了一个新版本的 TaskDetails,它一开始是空的。如果您觉得 PrintDetails 需要一个单独的类,则可以使用以下内容:
namespace ConsoleApp1
{
class PrintDetails
{
public void Print(List<TaskDetails> taskDetails, int i)
{
var taskDetail = taskDetails[i];
Console.WriteLine(string.Format(
"UserID: {0}, TaskTitle: {1}",
taskDetail.UserID,
taskDetail.TaskTitle);
}
}
}
然后在您的 main 函数中,按如下方式调用它:
PrintDetails pd = new PrintDetails();
pd.Print(taskDetails, i);
推荐阅读
- c++ - 需要将 wxListCtrl 的代码更改为虚拟样式 wxListCtrl 的工作代码
- c# - 处理证书时发生未知错误
- big-o - BigO 表示法,理解
- ios - 快速删除项目后如何重新填充数组
- azure - 如何在创建时设置文件 Azure Datalake gen1 文件的文件到期?
- sql - 我的 FROM 语句中有 3 个内连接和一个左连接
- javascript - 处理日期对象 javascript vs java
- dart - Dart Webdev Dev Compiler 自升级到 2.3.2 后未运行
- reactjs - 将较低级别的组件道具发送到 App
- postgresql - 带有时区列的 Postgres 索引时间戳