如何让这个数组+函数起作用?

2024-04-20

我的阵列需要帮助。我是 C# Winforms 的新手。

这是我的函数,数组所在的位置,我正在尝试将数组发布到 XML 文件上:

    // ------------------- Functions
    static void XML_Array(string Data_Array)
    {
        String xmlfile = "/XMLFiles/Settings_Data.xml";

        XmlTextWriter xwriter = new XmlTextWriter(xmlfile, Encoding.Unicode);

        xwriter.WriteStartDocument();

        xwriter.WriteStartElement("XMLFILE");

        foreach (KeyValuePair<string, string> kvp in Data_Array)
        {
            String Element_Name = kvp.Key;
            String Element_Value = kvp.Value.ToString();

            xwriter.WriteStartElement(Element_Name);
            xwriter.WriteString(Element_Value);
            xwriter.WriteEndElement();
        }

        xwriter.WriteEndDocument();
        xwriter.Close();

    }

这是我的数组,这里我想做的是当我按下button2时在我的函数上发送数组,以及在XML文件上添加数组数据的函数

    private void button2_Click(object sender, EventArgs e)
    {
        Dictionary<string, string> Data_Array = new Dictionary<string, string>();
        Data_Array.Add("Name", "textBox3.Text"); // Alex
        Data_Array.Add("Year", "textBox4.Text"); // 1988

        XML_Array(Data_Array);
    }

Update

如果我的数组是,我该怎么做

Dictionary<string, string> Data_Array = new Dictionary<string, string>();
Data_Array.Add("Name", textBox3.Text); // Alex
Data_Array.Add("Year", textBox4.Text); // 1988

Data_Array.Add("Birthday", new Dictionary<string, string>());

并在生日中添加日、月


将方法的签名更改为

static void XML_Array(Dictionary<string, string> Data_Array)

因为它不是一个string but a Dictionary.

正如 varg 和 Austin 所评论的,您应该考虑重命名变量,因为当参数是名称时会令人困惑Data_Array但实际上它是一个Dictionary什么是完全不同类型的集合。您可能想要添加Text现有的财产TextBox控制,而不是字符串文字(带引号)"textBox3.Text".

Data_Array.Add("Name", textBox3.Text); // Alex
Data_Array.Add("Year", textBox4.Text); // 1988

TextBox3 and TextBox4也是新名字的良好候选者。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让这个数组+函数起作用? 的相关文章

  • C# Socket.receive连续接收0字节且循环中不阻塞

    我正在尝试用 C 编写一个最简单的多线程 TCP 服务器 它接收来自多个客户端的数据 每次连接新客户端时 都会建立套接字连接 并将套接字作为参数传递给新类函数 之后运行 while 循环并接收数据 直到客户端连接为止 这里的问题是 sock
  • Microsoft Graph API 授权错误:无效受众

    我知道这是一个很长的问题 但如果有人能与我分享他们的想法或经验 我真的很感激 因为我已经解决这个问题几天了 现在正在尝试很多事情 我有一个 ASP Net Core 3 1 Web API 应用程序和一个 ASP NET Core 3 1
  • 如何让我的方法等待所有线程完成?

    我有一个方法可以触发线程来完成一些工作 将有 2 个线程异步运行一段时间 当调用它们的回调方法时 回调会触发另一个线程 直到所有工作完成 如何让我的方法等待所有这些线程完成并被触发 如果这是 Net 4 0 您可以使用CountdownEv
  • 从文件中读取单词并放入列表中

    本质上 我有一个巨大的文件 所有文件包含每行多个单词 每个单词用空格分隔 有点像这样 WORD WORD WORD WORD ANOTHER WORD SCRABBLE BLAH YES NO 我想要做的是将文件中的所有单词放入一个巨大的列
  • C# 按下按钮时跳出循环

    我有一个简单的 C foreach 循环 如何在按下按钮时跳出循环 它不在backgroundWorker线程中 所以我不能使用backgroundWorker Cancellation Pending 在表单中创建一个布尔标志 将事件处理
  • 将 MyGeneration 与 Fluent NHibernate 结合使用

    我在这里找到了一个使用 MyGeneration 生成 NHibernate 代码的绝佳模板 http vucetica blogspot com 2009 01 nhibernate template for my Generation
  • 正确别名向量

    我无法在其他地方找到答案 所以我想我只需要问这个 我正在尝试获取向量 其中存储 int 指针 的别名 如下所示 void conversion Engine ENGINES The Engine class has a vector of
  • 在 WinForms 中显示输入对话框

    我想在我的 WinForm 应用程序中显示输入模式 我浏览过网络 但没有找到执行此操作的良好模式 我知道我必须创建另一个表单 并使用 ShowDialog 方法 你是对的 请注意 模式对话框在关闭时不会自动处理 与非模式对话框不同 因此您需
  • 在 C++ 中重用异常处理代码

    我有这两个函数 具有重复的异常处理 其唯一目的是显示错误消息 void func1 noexcept try do task do another task catch const std out of range e show msg O
  • Clang 使用 -nostdlib 生成崩溃代码

    我正在尝试为可执行文件设置自己的运行时环境 但无法使用 clang v3 4 1ubuntu1 目标 x86 64 pc linux gnu 来生成没有段错误的可执行文件 我已将问题简化为以下内容 如果我有一个文件 crt1 c 除了满足
  • C++ 中的静态虚函数

    我有一个基类和一个派生类 我想更改基函数 同时保持它们静态 因为它们应该作为静态传递给其他函数 我怎样才能做到这一点 ATL 框架通过将基类设为模板 然后让派生类将其类类型作为模板参数传递 从而绕过了无虚拟静态的限制 然后 基类可以在需要时
  • 将 size_t 变量添加到指针

    我想向指针添加 size t 类型 有些像这样 void function size t sizeA size t sizeB void pointer pointer malloc sizeA pointer pointer sizeB
  • 如何获取 TFS 2013 中所有用户的列表

    我正在使用 Team Foundation Server TFS 2013 和 Visual studio 2012 我需要 TFS 中所有用户的列表 有没有办法使用C 获取TFS中的所有用户 从TFS 2010获取用户列表 您可以尝试使用
  • cuda中有模板化的数学函数吗? [复制]

    这个问题在这里已经有答案了 我一直在寻找 cuda 中的模板化数学函数 但似乎找不到 在普通的 C 中 如果我调用std sqrt它是模板化的 并且将根据参数是浮点数还是双精度数执行不同的版本 我想要这样的 CUDA 设备代码 我的内核将真
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进
  • 产量回报延迟迭代问题

    我知道yield return 利用了延迟加载 但我想知道我是否可能滥用迭代器或者很可能需要重构 我的递归迭代器方法返回给定的所有祖先PageNode包括pageNode itself public class PageNodeIterat
  • LINQ 中的左外连接

    下面的代码不断给我一个错误消息 你调用的对象是空的 var partsWithDefaults from partsList1 in p join partsList2 in d on new PartNo partsList1 PartN
  • 使用本地系统帐户运行时,GetAccessControl 方法失败,出现意外错误代码 3

    我已经创建了 Windows 服务并使用本地系统帐户运行它 该服务正在读取用户文件并查找其所有者 在获取文件的访问权限以查找所有者时 它抛出以下异常 方法失败 出现意外错误代码 3 StackTrace 在 System Security
  • 如何避免函数的多重定义(Linux、GCC/G++、Code::Blocks)

    我有一个代码块项目 它使用许多不同的文件 通常是由其他程序员编写的 目前我遇到的情况是 我有两个不同的子项目 其中包含以相同方式命名的函数 比方说 F int x 因此 F int x 是在两个不同位置的两个源文件中定义的 并且它们有两个不
  • OpenMP 动态调度与引导调度

    我正在研究 OpenMP 的调度 特别是不同的类型 我了解每种类型的一般行为 但澄清一下何时进行选择会很有帮助dynamic and guided调度 英特尔的文档 https software intel com en us articl

随机推荐