Объединить два одномерных массива и напечатать коллекцию - C#
Формулировка задачи:
Добрый день. Даны две строки, которые необходимо распарсить в массивы.
После чего передать каждый элемент массива конкретному свойству из класса (Имя и Фамилия) и распечатать коллекцию.
Делаю так
Класс
Печатает вроде из метода класса, но мне бы получать конкретное свойства item.Name и конкретное имя.
namespace ConsoleApplication1
{
class Program
{
static private string sfn = "Abraham, Addison, Adrian, Albert, Alec, Alfred, Alvin, Andrew, Andy," +
" Archibald, Archie, Arlo, Arthur, Arthur, Austen, Barnabe, Bartholomew, " +
"Bertram, Bramwell, Byam, Cardew, Chad, Chance, Colin, Coloman, Curtis, Cuthbert, " +
"Daniel, Darryl, David";
static private string sln = "Smith, Johnson, Williams, Jones, Brown, Davis, Miller, Wilson, Moore, Taylor," +
" Anderson, Thomas, Jackson, White, Harris, Martin, Thompson, Wood, Lewis, Scott, " +
"Cooper, King, Green, Walker, Edwards, Turner, Morgan, Baker, Hill, Phillips";
static void Main(string[] args)
{
string[] usersFirstNames = sfn.Split(new string[] { ", ", "\n", "\t" }, StringSplitOptions.RemoveEmptyEntries);
string[] usersLastNames = sln.Split(new string[] { ", ", "\n", "\t" }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < usersFirstNames.Length; i++)
{
Console.WriteLine("{0: } {1}\n", usersFirstNames[i], usersLastNames[i]);
}
Console.WriteLine();
Console.WriteLine();
ListOfStudents lst = new ListOfStudents(usersFirstNames, usersLastNames);
lst.ShowAll();
Console.ReadLine();
}
}
}namespace ConsoleApplication1
{
class ListOfStudents
{
public string Name { get; set; }
public string LastName { get; set; }
public string[] NamesArray { get; set; }
public string[] SurnamesArray { get; set; }
public ListOfStudents(string[] fn, string[] ln)
{
NamesArray = fn;
SurnamesArray = ln;
}
public void ShowAll()
{
List<object> lst = new List<object>();
for (int i = 0; i < NamesArray.Length; i++)
{
Name = NamesArray[i];
lst.Add(Name);
LastName = SurnamesArray[i];
lst.Add(LastName);
}
foreach (var item in lst)
{
Console.WriteLine(item + "\n");
}
}
}
}
Как можно сделать? Или нужно создать отдельный класс, куда передавать список студента?
Решение задачи: «Объединить два одномерных массива и напечатать коллекцию»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
static private string sfn = "Abraham, Addison, Adrian, Albert, Alec, Alfred, Alvin, Andrew, Andy," +
" Archibald, Archie, Arlo, Arthur, Arthur, Austen, Barnabe, Bartholomew, " +
"Bertram, Bramwell, Byam, Cardew, Chad, Chance, Colin, Coloman, Curtis, Cuthbert, " +
"Daniel, Darryl, David";
static private string sln = "Smith, Johnson, Williams, Jones, Brown, Davis, Miller, Wilson, Moore, Taylor," +
" Anderson, Thomas, Jackson, White, Harris, Martin, Thompson, Wood, Lewis, Scott, " +
"Cooper, King, Green, Walker, Edwards, Turner, Morgan, Baker, Hill, Phillips";
static void Main(string[] args)
{
string[] usersFirstNames = sfn.Split(new string[] { ", ", "\n", "\t" }, StringSplitOptions.RemoveEmptyEntries);
string[] usersLastNames = sln.Split(new string[] { ", ", "\n", "\t" }, StringSplitOptions.RemoveEmptyEntries);
ListOfStudents lst = new ListOfStudents(usersFirstNames, usersLastNames);
foreach (Student student in lst.GetAllStudents())
Console.WriteLine(student);
Console.ReadLine();
}
}
class ListOfStudents
{
List<Student> lst;
public ListOfStudents(string[] fn, string[] ln)
{
lst = new List<Student>();
for (int i = 0; i < fn.Length; i++)
{
Student st = new Student(fn[i], ln[i]);
lst.Add(st);
}
}
public IEnumerable<Student> GetAllStudents()
{
foreach (var item in lst)
{
yield return item;
}
}
}
class Student
{
public string Name { get; set; }
public string LastName { get; set; }
public Student(string name, string lastName)
{
Name = name;
LastName = lastName;
}
public override string ToString()
{
return string.Format("{0} {1}", Name, LastName);
}
}
}