如何使用c#将列表项及其索引保存在文本文件中

Posted

技术标签:

【中文标题】如何使用c#将列表项及其索引保存在文本文件中【英文标题】:How to save items of list with their index in text file using c# 【发布时间】:2019-02-13 11:47:45 【问题描述】:

我已经在 c# 中创建了一个列表,现在我需要将列表保存在文本文件中,并为列表中的每个项目提供索引?请用一个简单的例子解释一下。

【问题讨论】:

你能给我们一个Minimal, Complete, and Verifiable example吗? 您列出的实际包含什么以及您希望以什么格式存储它? (txt, json, xml)。 【参考方案1】:

试试这个代码:我希望你能从中得到基本的想法。

namespace ConsoleApp

    class Program
    
        static void Main(string[] args)
        
            List<string> _names = new List<string>()
            
                "Rehan",
                "Hamza",
                "Adil",
                "Arif",
                "Hamid",
                "Hadeed"
            ;

            using (StreamWriter outputFile = new StreamWriter(@"E:\test.txt")
            
                foreach (string line in _names)
                    outputFile.WriteLine(line);
            
        
    

或者你也应该尝试 for 循环。

namespace ConsoleApp

    class Program
    
        static void Main(string[] args)
        
            List<string> _names = new List<string>()
            
                "Rehan",
                "Hamza",
                "Adil",
                "Arif",
                "Hamid",
                "Hadeed"
            ;

            using (StreamWriter outputFile = new StreamWriter(@"E:\test.txt")
            
                for (int index = 0; index < _names.Count; index++)
                    outputFile.WriteLine("Index : " + index + " - " + _names[index]);
            
        
    

根据您在下方的评论: 如何将列表数据保存到 SQL Server 表中。你可以按照 与上述代码原理相同:

代码:

namespace ConsoleApp

    class Program
    
        static void Main(string[] args)
        
            // Table 
            // -------------
            // | ID | Name |
            // -------------

           // Please Not that: ID Column in a database should not be identity Colomn because in this example i am going to add data to ID Column explicity...                

            // List of name that we are going to save in Database.
            List<string> _names = new List<string>()
            
                "Rehan",
                "Hamza",
                "Adil",
                "Arif",
                "Hamid",
                "Hadeed"
            ;

            SqlConnection connection = new SqlConnection("Connection string goes here...");
            connection.Open();
            for (int index = 0; index < _names.Count; index++)
            
                SqlCommand command = new SqlCommand("INSERT INTO tbl_names (id,name) VALUES ('"+index+"', '"+_names[index]+"')",connection);
                command.ExecuteNonQuery();
            
            connection.Close();
        
    

注意:使用此语法new SqlCommand("INSERT INTO tbl_names... 有可能发生 SQL 注入,因此通过避免您可以使用存储过程来代替......

【讨论】:

为什么使用 Path.Combine 作为简单路径? File.WriteAllLines(path, lines.Select((value, index) =&gt; $"index: value")) 会简单一些。 非常感谢。如何保存列表在 SQL Server 2012 中保存列表以及列表中每个项目的索引?请用一个简单的示例进行说明。 您可以按照相同的想法在 SQL Server 表中保存列表项......我将在我的答案末尾添加一个示例代码......请检查并获取基本信息来自它的想法.. @AfraArif

以上是关于如何使用c#将列表项及其索引保存在文本文件中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 List<> 数组中的数据保存到文本文件(C#)?

将 Windows 窗体列表框保存到文本文件 C#

如何将字典项分别添加到 SwiftUI 列表中

如何将 Python 脚本的部分输出发送到文本文件?

如何从两个列表框保存文件c#

如何使用 Xamarin 表单和 C# 将 Html 数据从网站保存到文本文件