• list 快速操作字符串


    1、 LinkedList的使用

    https://www.cnblogs.com/ChengWenHao/p/CSharpLinkedList.html

    private static void TestLinkList()
    {
    LinkedList<Person> linkListPerson = new LinkedList<Person>();
    Person p = null;
    for (int i = 1; i < 10; i++)
    {
    p = new Person($"程序员{i}", i + 18,i%5==1?"女":"男");
    //添加
    linkListPerson.AddLast(p);
    //linkListPerson.AddFirst(p);
    }

    Console.WriteLine($"新增的总人数:{linkListPerson.Count}");
    Console.WriteLine("-------------------------------------------------------------");


    //遍历
    LinkedListNode<Person> linkNodePerson = linkListPerson.First;
    linkNodePerson.Value.SayHi();

    while (linkNodePerson.Next!=null)
    {
    linkNodePerson = linkNodePerson.Next;
    linkNodePerson.Value.SayHi();
    }

    Console.WriteLine("-------------------------------------------------------------");

    //删除
    while (linkNodePerson.Value != null && linkListPerson.Count > 0)
    {
    linkNodePerson = linkListPerson.Last;
    Console.Write($"当前总人数:{linkListPerson.Count}, 即将移除:{linkNodePerson.Value.Name} --> ");
    linkListPerson.RemoveLast();
    Console.WriteLine($"移除后总人数:{linkListPerson.Count}");
    }

    }

    2、

     使用List泛型读取和保存文本文件

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    using System.Management;//添加引用
    using System.IO;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //测试代码: 
                test mgr = new test();
                mgr.WriteListToTextFile(mgr.GetUserNames(), @"c:\test.txt"); //测试生成新的Txt文件
                List<string> list = mgr.ReadTextFileToList(@"C:\test.txt");//记取字符串 
                foreach (string s in list) Console.WriteLine(s); //显示出来′ 
                Console.ReadKey(); //按′任一键关闭Console 
             
                /*
                 * 结果:
                 *  JUQI\ASPNET
                    JUQI\capable
                    JUQI\Guest
                    JUQI\itd0300166
                    JUQI\IUSR_PLSH166
                    JUQI\IWAM_PLSH166
                    JUQI\SUPPORT_388945a0
                 * 
                 * */
    
            }
        }
            public class test
            {
    
                /// <summary>
                /// 获取本机上的用户帐户
                /// </summary>
                /// <param name="domainName"></param>
                /// <returns></returns>
                public  List<String> GetUserNames()
                {
                    ManagementClass mcs = new ManagementClass("Win32_UserAccount");
                    ManagementObjectCollection moc = mcs.GetInstances();
                    List<String> lstNames = new List<string>();
                    foreach (ManagementObject mo in moc)
                    {
                        lstNames.Add(Environment.UserDomainName + "\\" + mo.GetPropertyValue("Name").ToString());
                        //domainName = mo.GetPropertyValue("Domain").ToString();
                    }
                    return lstNames;
                }
    
    
                //将List转换为TXT文件
                public void WriteListToTextFile(List<string> list, string txtFile)
                {
                    //创建一个文件流,用以写入或者创建一个StreamWriter 
                    FileStream fs = new FileStream(txtFile, FileMode.OpenOrCreate, FileAccess.Write);
                    StreamWriter sw = new StreamWriter(fs);
                    sw.Flush();
                    // 使用StreamWriter来往文件中写入内容 
                    sw.BaseStream.Seek(0, SeekOrigin.Begin);
                    for (int i = 0; i < list.Count; i++) sw.WriteLine(list[i]);
                    //关闭此文件t 
                    sw.Flush();
                    sw.Close();
                    fs.Close();
                }
    
    
                //读取文本文件转换为List 
                public List<string> ReadTextFileToList(string fileName)
                {
                    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                    List<string> list = new List<string>();
                    StreamReader sr = new StreamReader(fs);
                    //使用StreamReader类来读取文件 
                    sr.BaseStream.Seek(0, SeekOrigin.Begin);
                    // 从数据流中读取每一行,直到文件的最后一行
                    string tmp = sr.ReadLine();
                    while (tmp != null)
                    {
                        list.Add(tmp);
                        tmp = sr.ReadLine();
                    }
                    //关闭此StreamReader对象 
                    sr.Close();
                    fs.Close();
                    return list;
                }
            }
    
        }
  • 相关阅读:
    【Demo 0025】注册/反注册窗体类RegisterClassEx/UnregisterClass
    【Demo 0028】获取窗体信息
    【Demo 0021】窗体创建过程
    FLTK编译安装方法 (转)
    图形学名词解释2(转帖)
    五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) [网上整理]
    无法定位程序输入点XXXXX于动态链接库qtcore.dll
    图形学名词解释1(转贴)
    几何建模研究领域介绍(名词解释&& 转帖)
    C++ hash_map详细介绍[转]
  • 原文地址:https://www.cnblogs.com/chinayixia/p/13224070.html
Copyright © 2020-2023  润新知