c#保留字符串第一个空格,去除所有剩下的空格

c#保留字符串第一个空格,去除所有剩下的空格

csharp 复制代码
static void Main(string[] args)
{
	string input = "download 1 , 1";

    // 寻找第一个空格的位置
    int firstSpaceIndex = input.IndexOf(' ');

    // 去除所有空格
    input = input.Replace(" ", string.Empty).Insert(firstSpaceIndex, " ");

    Console.WriteLine(input);

    Console.ReadLine();
}

保存数据到xml文件

csharp 复制代码
public void submit()
{
    List<string> AllPorts = new List<string>(){
    "1,2",
    "1,3",
    "1,4",
    "1,5"
    };
    //创建一个数据集,将其写入xml文件
    string optime = ConfigFile + ".xml";
    string path = Environment.CurrentDirectory + "\\config\\" + optime;
    //ds.WriteXml(path);
    XDocument xdoc = new XDocument();
    //为文档增加一文档声明
    XDeclaration xdecl = new XDeclaration("1.0", "utf-8", null);
    //创建一个根节点
    XElement xelement = new XElement("List");

    //把根节点添加到文档中

    xdoc.Add(xelement);
    XElement xConfig = new XElement("Config");

    //把根节点添加到文档中
    xConfig.SetElementValue("ID", DateTime.Now.ToString("yyyyMMddHHmmss"));
    xConfig.SetElementValue("StartFrequency", "100"); 
    xConfig.SetElementValue("StopFrequency", "1690");
    xelement.Add(xConfig);
    
    for (int i = 0; i < AllPorts.Count; i++)
    {
        //为根节点下添加子节点
        XElement xperson = new XElement("PortsConfig");
        //为节点添加属性
        //xperson.SetAttributeValue("id", (i + 1).ToString());
        //给子节点添加文本节点
        xperson.SetElementValue("Ports", AllPorts[i]);
        //添加到根节点下

        xelement.Add(xperson);
    }
    //保存Xml文件

    xdoc.Save(path);

    MessageBox.Show("数据已成功保存到"+ ConfigFile + "XML 文件!", "提示");
    //DataSet ds2 = new System.Data.DataSet();
    //ds2.ReadXml("D:\\"+ConfigFile + ".xml");
    //DataTable dt = new DataTable();
    //dt = ds2.Tables[0];
    AllPorts.Clear();
}

读取xml数据

xml数据

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<List>
  <Config>
    <ID>20240223162658</ID>
    <StartFrequency>100</StartFrequency>
    <StopFrequency>1690</StopFrequency>
  </Config>
  <PortsConfig>
    <Ports>1,2</Ports>
  </PortsConfig>
  <PortsConfig>
    <Ports>1,3</Ports>
  </PortsConfig>
  <PortsConfig>
    <Ports>1,4</Ports>
  </PortsConfig>
  <PortsConfig>
    <Ports>1,5</Ports>
  </PortsConfig>
</List>

读取xml

csharp 复制代码
static void Main(string[] args)
{
    DataSet ds = new DataSet();
    ds.ReadXml(@"F:\项目\\bin\Debug\config\112233.xml");
    DataTable dt = ds.Tables[0];
    DataTable dt2 = ds.Tables[1];
    string[] ports = null;
    for (int i = 0; i < dt2.Rows.Count; i++)
    {
        ports = dt2.Rows[i][0].ToString().Split(',');

        Console.WriteLine(ports[0] + "," + ports[1]);
    }
}
相关推荐
dialect_3 小时前
KMP算法
开发语言·c++·算法
总要学点什么3 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c5 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌5 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
超级架构师6 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮7 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔8 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真8 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放8 小时前
Python基础语法练习题(75)
开发语言·python·学习