Объединить два одномерных массива и напечатать коллекцию - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Даны две строки, которые необходимо распарсить в массивы. После чего передать каждый элемент массива конкретному свойству из класса (Имя и Фамилия) и распечатать коллекцию. Делаю так
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");
            }
        }
    }
}
Печатает вроде из метода класса, но мне бы получать конкретное свойства item.Name и конкретное имя.
Как можно сделать? Или нужно создать отдельный класс, куда передавать список студента?

Решение задачи: «Объединить два одномерных массива и напечатать коллекцию»

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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы