Как мне взять arraylist?
Итак, у меня возникла проблема: я не знаю, как взять arraylist из одного класса и распечатать его в main.
Итак у меня есть текстовый файл;
Informatikos fakultetas Petraitis; Jonas; IF-1/8; 3; 10 8 9 0 Algaitis; Algis; IF-1/8; 3; 10 0 9 9 Petraitis; Kazys; IF-1/8; 4; 9 9 10 10 Algaitis; Rimas; IF-1/8; 2; 9 9 0 0 Petraitis; Vytas; IF-1/9; 4; 8 9 7 5 Petraitis; Anupras; IF-1/9; 3; 8 7 6 0 Petraitis; Vidas; IF-1/9; 2; 9 8 0 0 Petraitis; Anzelmas; IF-1/9; 3; 9 9 9 0 Petraitis; Šarūnas; IF-1/9; 4; 9 10 9 7
Теперь я назначил arraylist в методе классу, где его слишком много, чтобы понять. Теперь мне нужно создать метод в программе класса, в котором я могу получить значения arraylist с помощью FOREACH, а не с помощью linq. Проблема в том, что я не знаю, как это сделать. Мой учитель сказал, что вы должны вызвать его с помощью цикла for внутри forcycle, но я не знаю, как это сделать. Даже если бы я это сделал распечатал вот это:
System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList System.Collections.ArrayList Press any key to continue . . .
Поэтому мне нужно знать, как вызвать значения arraylist из одного класса в другой. Между тем я не могу использовать какие-либо циклы for или foreach в main, я могу использовать их только в программе класса mehthods.
ОК СП вот полная программа но не на английском языке:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; using System.IO; namespace ConsoleApp2 { class Studentas { private string pavardė, vardas, grupė; private int kieks; private ArrayList paz; private double vidurkis; public Studentas() { pavardė = ""; vardas = ""; grupė = ""; kieks = 0; vidurkis = 0; paz = new ArrayList(); } public void Dėti(string pav, string vard, string grup,int kiek, ArrayList pz) { pavardė = pav; vardas = vard; grupė = grup; kieks = kiek; foreach (int sk in pz) paz.Add(sk); } public void Dėti2(string pav, string vard, string grup, int kiek,double vid) { pavardė = pav; vardas = vard; grupė = grup; kieks = kiek; vidurkis = vid; } public ArrayList ImtiArray() { return paz; } public override string ToString() { string eilute; eilute = string.Format("{0, -12} {1, -9} {2, -7} {3,1:d}", pavardė, vardas, grupė,kieks); foreach (int sk in paz) eilute = eilute + string.Format("{0, 3:d}", sk); return eilute; } public string Tostr() { string eilute; eilute = string.Format("{0, -12} {1, -9} {2, -7} {3,2:F}", pavardė, vardas, grupė, PazVid()); return eilute; } public double PazVid() { double sum = 0; foreach(int sk in paz) { sum = sum + sk; } return sum / kieks; } } class Fakultetas { const int CMax = 100; private Studentas[] St; private int n; public Fakultetas() { n = 0; St = new Studentas[CMax]; } public int Imti() { return n; } public Studentas Imti(int i) { return St[i]; } public void Dėti(Studentas ob) { St[n++] = ob; } } class Program { const string CFd = "..\\..\\A.txt"; const string CFr = "..\\..\\Rezultatai.txt"; static void Main(string[] args) { Fakultetas grupes = new Fakultetas(); Fakultetas grupes1 = new Fakultetas(); string pav; ArrayList pz = new ArrayList(); if (File.Exists(CFr)) File.Delete(CFr); Skaityti(ref grupes, CFd, out pav); Spausdinti(grupes, CFr, " Pradinis studentų sąrašas", pav,0); Formuoti(grupes, ref grupes1); if (grupes1.Imti() > 0) { Spausdinti(grupes1, CFr, " Naujas studentų sąrašas", pav, 1); } FVid(grupes1,pz); } static void FVid(Fakultetas grupes1,ArrayList pz) { foreach(int sk in pz) { Console.WriteLine(grupes1.Imti(sk).ImtiArray(pz)); } } static void Skaityti(ref Fakultetas grupe, string fv, out string pav) { using (StreamReader reader = new StreamReader(fv)) { string pv, vrd, grp; int kiek; ArrayList pz = new ArrayList(); using(StreamReader fr = new StreamReader(fv)) { string pavr; pavr = fr.ReadLine(); pav = pavr; } string[] lines = File.ReadAllLines(fv, Encoding.GetEncoding(1257)); int n = lines.Length; for (int i= 1;i <=n-1;i++) { string[] parts = lines[i].Split(';'); pv = parts[0].Trim(); vrd = parts[1].Trim(); grp = parts[2].Trim(); kiek = int.Parse(parts[3].Trim()); //paz string[] eil = parts[4].Trim().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); pz.Clear(); foreach (string eilute in eil) { int aa = int.Parse(eilute); pz.Add(aa); } Studentas stud = new Studentas(); stud.Dėti(pv, vrd, grp, kiek, pz); grupe.Dėti(stud); } } } static void Spausdinti(Fakultetas grupe, string fv, string antraštė, string pav, int n) { using (var fr = File.AppendText(fv)) { fr.WriteLine(pav); fr.WriteLine("------------------------------------------"); if(n == 1) { string virsus = "------------------------------------------\r\n" + " Pavardė Vardas Grupė Vidurkis \r\n" + "------------------------------------------"; fr.WriteLine(antraštė); fr.WriteLine(virsus); } else { string virsus = "------------------------------------------\r\n" + " Pavardė Vardas Grupė Pažymiai \r\n" + "------------------------------------------"; fr.WriteLine(antraštė); fr.WriteLine(virsus); } for (int i = 0; i < grupe.Imti(); i++) { if (n == 0) { fr.WriteLine("{0}", grupe.Imti(i).ToString()); } else { fr.WriteLine("{0}", grupe.Imti(i).Tostr()); } } fr.WriteLine("------------------------------------------\r\n"); } } static void Formuoti(Fakultetas grupes, ref Fakultetas grupes1) { for (int i = 0; i < grupes.Imti(); i++) { grupes1.Dėti(grupes.Imti(i)); } } } }
Что я уже пробовал:
Все к настоящему времени я безнадежен действительно нуждаюсь в помощи