Объединить два одномерных массива и напечатать коллекцию - 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д