C# 从方法返回数组值

C# 从方法返回数组值,c#,C#,所以这可能会引起很多人的反感,因为这是一个新手犯的错误,但我有一个任务,我在图书馆里有一个书单,上面有ISBN号、作者等等。我很难返回每本书的值和它们的信息。我需要该程序创建两个csv文件,其中包含我输入的信息,并写入我在Console.WriteLine中写入的文本。由于我刚刚开始编程,这里可能会出现很多错误。代码如下: using System; using System.IO; namespace ConsoleApplication2 { class Program {

所以这可能会引起很多人的反感,因为这是一个新手犯的错误,但我有一个任务,我在图书馆里有一个书单,上面有ISBN号、作者等等。我很难返回每本书的值和它们的信息。我需要该程序创建两个csv文件,其中包含我输入的信息,并写入我在Console.WriteLine中写入的文本。由于我刚刚开始编程,这里可能会出现很多错误。代码如下:

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]);
            }
        }
    }
}
使用系统;
使用System.IO;
命名空间控制台应用程序2
{
班级计划
{    
静态void Main(字符串[]参数)
{   
foreach(File.ReadAllLines(@“duomeys.txt”)中的字符串行)
{
字符串[]a=line.Split(',');
长ISBN=转换为64(a[0]);
字符串BookName=a[1];
字符串作者=a[2];
字符串类型=a[3];
字符串Publisher=a[4];
int PublishYear=转换为32(a[5]);
int PageNumber=Convert.ToInt32(a[6]);
Console.WriteLine(出版年份);
Console.WriteLine();
}
}
页数最多的公共作废账簿(int[]a)
{
int maxPages=0;
string[]line=File.ReadAllText(@“duomeys.txt”).Split('\n');
foreach(行中的字符串行)
{
{
Console.ReadLine();
if(a[6]>maxPages)
{
maxPages=a[6];
Console.WriteLine(“Storiausios knygos pavadinimas:{0},jos autorius(-ė):{1}”,a[1],a[2]);
}
}
}
}
公共作废发布(字符串[]a)
{
如果(!File.Exists(@“technomica.csv”))
创建(@“technoja.csv”).Dispose();
使用(StreamWriter streamwrite=newstreamwriter(File.OpenWrite(@“technomica.csv”))
{
如果(a[2]=“a”)
{
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]);
}
}
}
公共无效输出(字符串[]a)
{
如果(!File.Exists(@“Autoriai.csv”))
创建(@“Autoriai.csv”).Dispose();
使用(StreamWriter StreamWriter=newstreamwriter(File.OpenWrite(@“Autoriai.csv”))
{
streamWriter.WriteLine(“\n{0}”,a[2]);
}
}
公共作废发布年份(字符串[]a)
{
如果(a[5]=“2014”)
{

对于(int j=1;j首先欢迎使用编程!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; }        
}
类程序
{
静态void Main(字符串[]参数)
{
图书列表=新列表;
foreach(File.ReadAllLines(@“duomeys.txt”)中的字符串行)
{
Book newBook=新书();
字符串[]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=转换为32(a[6]);
图书。添加(新图书);
}
foreach(书本中的书本)
{
//在这里做事!
}
}
课堂用书
{
公共字符串ISBN{get;set;}
公共字符串bookName{get;set;}
公共字符串作者{get;set;}
公共字符串类型{get;set;}
公共字符串发布程序{get;set;}
public DateTime yearPublished{get;set;}
公共int numberOfPages{get;set;}
}

那么你的问题是什么?我很难返回每本书的值和它们的信息。我需要程序用我输入的信息创建两个csv文件,并将我在控制台中编写的文本写入。WriteLine.)您需要创建一个名为“Book”的新类,并为其提供属性:“BookName”、“Author”、“Genre”等。您可以找到更多信息,谢谢,我将尝试:)@Aldas这就是我的意思,不是说创建一个类;)没问题!祝你好运并坚持下去。一开始你会感到困惑,但很快你就可以轻松地编写代码了。让我们知道它是如何工作的。我现在在第16行遇到了一个问题:Book newBook=new List();问题出在哪里,或者你遇到了什么错误?我真的不知道如何处理它,在控制台中,它将路径写入程序,然后写入第16行,当我将int与ISBN(一个9位数字)一起使用时,它崩溃了,因为它太长了,我不得不使用long和conver到64来修复它