从方法返回数组值

本文关键字:数组 返回 方法 | 更新日期: 2023-09-27 18:09:02

这可能会招致很多人的反感,因为这是一个新手犯的错误,但我有一个作业,我有一个图书馆里的书的清单,上面有它们的ISBN号,作者等等。我有麻烦返回每本书的值与他们的信息。我需要该程序创建两个csv文件的信息,我把在写我写在我的控制台的文本。因为我刚刚开始编程,所以这里可能会出现很多错误。下面是代码:

using System;
using System.IO;
namespace ConsoleApplication2
{
    class Program
    {    
        static void Main(string[] args)
        {   
            foreach (string line in File.ReadAllLines(@"Duomenys.txt"))
            {
                string[] a = line.Split(',');
                long ISBN = Convert.ToInt64(a[0]);
                string BookName = a[1];
                string Author = a[2];
                string Genre = a[3];
                string Publisher = a[4];
                int PublishYear = Convert.ToInt32(a[5]);
                int PageNumber = Convert.ToInt32(a[6]);
                Console.WriteLine(PublishYear);
                Console.WriteLine();    
            }
        }
        public void BookWithTheMostPages(int[] a)
        {
            int maxPages = 0;
            string[] lines = File.ReadAllText(@"Duomenys.txt").Split(''n');
            foreach (string line in lines)
            {
                {
                    Console.ReadLine();
                    if (a[6] > maxPages)
                    {
                        maxPages = a[6];
                        Console.WriteLine("Storiausios knygos pavadinimas: {0} , jos autorius(-ė): {1}", a[1], a[2]);
                    }
                }
            }
        }
        public void Publish(string[] a)
        {
            if (!File.Exists(@"Technologija.csv"))
                File.Create(@"Technologija.csv").Dispose();
            using (StreamWriter streamwrite = new StreamWriter(File.OpenWrite(@"Technologija.csv")))
            {
                if (a[2] == "Technologija")
                {
                    streamwrite.WriteLine("'n ISBN : {0}, Pavadinimas: {1}, Autorius: {2}, Tipas: {3}, Leidykla: {4}, Išleidimo Metai: {5}, Puslapių skaičius: {6}", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
                }
            }
        }
        public void Output(string[] a)
        {
            if (!File.Exists(@"Autoriai.csv"))
                File.Create(@"Autoriai.csv").Dispose();
            using (StreamWriter streamWriter = new StreamWriter(File.OpenWrite(@"Autoriai.csv")))
            {
                streamWriter.WriteLine("'n{0}", a[2]);
            }
        }
        public void Publishyear(string[] a)
        {
            if (a[5] == "2014")
            {
                for (int j = 1; j <= 5; j++)
                    Console.WriteLine("'nKnygos ISBN: {0}, Pavadinimas {1}, Autorius {2}", a[0], a[1], a[2]);
            }
        }
    }
}

从方法返回数组值

首先欢迎大家来编程!c#的一个优点是它是面向对象的,你应该好好利用这一点!创建一个book类来保存数据并操作它会容易得多。此外,如果您试图返回数据,void关键字意味着您编写的函数没有返回值,因此您将无法返回任何内容。这里有一个例子让你开始。

class Program
{
    static void Main(string[] args)
    {
        List<Book> books = new List<Book>;
        foreach (string line in File.ReadAllLines(@"Duomenys.txt"))
        {
            Book newBook = new Book();
            string[] a = line.Split(',');
            newBook.ISBN = a[0];
            newBook.bookName = a[1];
            newBook.author = a[2];
            newBook.genre = a[3];
            newBook.publisher = a[4];
            newBook.yearPublished = Convert.ToDateTime(a[5]);
            newBook.numberOfPages = Convert.ToInt32(a[6]);
            books.Add(newBook);
        }
        foreach (Book book in books)
        {
           // do stuff here!
        }
}
class Book
{
    public string ISBN { get; set; }
    public string bookName { get; set; }
    public string author { get; set; }
    public string genre { get; set; }
    public string publisher { get; set; }
    public DateTime yearPublished { get; set; }
    public int numberOfPages { get; set; }        
}