小编Axx*_*ian的帖子

C#string.replace删除非法字符

我正在研究一个程序,它根据列的标题读取文件并保存它们.其中一些标题有文件名的非法字符,所以我写了这段代码来处理这些问题.

string headerfile = saveDir + "\\" + tVS.Nodes[r].Text.Replace("\"", "").Replace
              ("/","").Replace(":"," -").Replace(">","(Greater Than)") + ".csv";
Run Code Online (Sandbox Code Playgroud)

在没有4的情况下有没有更好的方法.Replace()呢?或者是否有某种内置的非法角色去除器,我不知道?

谢谢!

编辑:它不需要用任何特定的字符替换字符.一个空白就足够了.

c# string

13
推荐指数
2
解决办法
3万
查看次数

添加帮助按钮,但保持最大化和最小化

我希望能够将帮助按钮添加到我的winform,但保持maxmimize和最小化按钮,但Windows标准是禁用两者以便能够显示帮助按钮.

已经存在类似的问题: 如何包含帮助'?' 在winform的标题栏中 - 但在那个问题中,提出问题的人满足于删除那些帮助显示的2个按钮.

在那里,我可以同时获得帮助,最大,最小和关闭按钮吗?

谢谢.

c# winforms

8
推荐指数
1
解决办法
6899
查看次数

List.clear内存问题

我有一个程序来处理一堆包含许多列的csv文件,以便用户可以提取特定的列并将它们写入另一个更小的csv文件,并且只包含它们所需的内容.由于最多可以有800万行,我已经使用列表创建了一个队列系统,它在列表缓冲区中添加了一些(一次50000行),以便编写者可以编写该段,然后使用listbuffer[i].clear();删除它,所以我使用更少的内存,并限制缓冲区只包含10个项目,保持总内存使用低至我需要它.

我的问题是,在listbuffer[i].clear();整个程序完成之前,我不会放弃它以前使用的内存,而是重新初始化缓冲区,以便下次使用时它是空白的.

**listbuffer是一个List<List<List<string>>>

这样做会更有意义......

listbuffer [行块] [行#] [列#]

有没有办法告诉列表放开list[i]正在使用的内存?

谢谢!

c# memory memory-management list

3
推荐指数
1
解决办法
8908
查看次数

在没有cmath的情况下计算罪

我被要求使用C++计算sin(x)的值而不使用任何数学库.我怎样才能进入他们(比如说2弧度)并在2时给他们一个sin函数的值?

谢谢.

c++ math

2
推荐指数
1
解决办法
2194
查看次数

递归函数C#中的公共变量

我有一个在C#中递归的函数,我想编辑一个全局变量(我认为它是全局的,因为它之前是公共的)在函数外部声明.由于某种原因,我不知道它无法在该特定功能中看到公共变量.它可以在我的代码中的第一个函数中看到它,但不是在第二个我需要访问它并更改它以节省大量时间打开大量文件...

它有什么理由不可访问吗?如果是这样,我怎么能绕过它呢?

非常感谢提前!

public int[] timeInfo = new int[2];
   private void ListDirectory(TreeView treeView, string path) 
        {     
            treeView.Nodes.Clear();   
            var rootDirectoryInfo = new DirectoryInfo(path);    
            treeView.Nodes.Add(CreateDirectoryNode(rootDirectoryInfo)); 
        }

   private static TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo) 

   {

       var directoryNode = new TreeNode(directoryInfo.Name);

       foreach (var directory in directoryInfo.GetDirectories())
            directoryNode.Nodes.Add(CreateDirectoryNode(directory));

       foreach (var file in directoryInfo.GetFiles())            
       {

           int check =0;                         
           try                
           {

               string s = "";                    
               s = directoryInfo.FullName + "\\" + file.Name;                    
               List<string> row, row2, row3 = new List<string>();

               using (StreamReader readFile = new StreamReader(s))
               {

                   row = (readFile.ReadLine().Split(',').ToList()); …
Run Code Online (Sandbox Code Playgroud)

c# treeview recursion treenode global-variables

0
推荐指数
2
解决办法
1040
查看次数