如何序列化?

3 c# serialization

using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main()
    {
        // Get all files in Documents
        List<string> dirs = FileHelper.GetFilesRecursive("S:\\bob.smith\\");
        foreach (string p in dirs)
        {
            Console.WriteLine(p);
        }
        // Write count
        Console.WriteLine("Count: {0}", dirs.Count);
        Console.Read();
    }
}

static class FileHelper
{
    public static List<string> GetFilesRecursive(string b)
    {
        // 1.
        // Store results in the file results list.
        List<string> result = new List<string>();

        // 2.
        // Store a stack of our directories.
        Stack<string> stack = new Stack<string>();

        // 3.
        // Add initial directory.
        stack.Push(b);

        // 4.
        // Continue while there are directories to process
        while (stack.Count > 0)
        {
            // A.
            // Get top directory
            string dir = stack.Pop();

            try
            {
                // B
                // Add all files at this directory to the result List.
                result.AddRange(Directory.GetFiles(dir, "*.*"));

                // C
                // Add all directories at this directory.
                foreach (string dn in Directory.GetDirectories(dir))
                {
                    stack.Push(dn);
                }
            }
            catch
            {
                // D
                // Could not open the directory
            }
        }
        return result;
        var k = "";
        result = k;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码.我试图将结果序列化为XML文件(我认为通过将其传递给a var,我可以使用该变量进行序列化).我很有智慧.请有人帮忙.

奇怪的是由于某些原因我无法添加评论 - 作为回应,是的,我已经完成了关于序列化的无尽教程.我是这个东西的完全新手,坦率地说,这些教程对大部分b/c无益,我无法将这个功能和序列化放在一起.在这一点上,我正在寻找一个解决方案,因为我要严重打破挫折感.

Cod*_*ker 7

您可以使用XmlSerializer:

using System.Xml.Serialization;

static void Main()
    {
        // Get all files in Documents
        List<string> dirs = FileHelper.GetFilesRecursive(@"S:\\bob.smith\\");

        XmlSerializer x = new XmlSerializer(dirs.GetType());
        x.Serialize(Console.Out, dirs);



        Console.Read();
    }
Run Code Online (Sandbox Code Playgroud)