c# - 如何将文本描述添加到 KeyValuePair 列表?
问题描述
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Testing
{
public partial class Form1 : Form
{
List<int> levels = new List<int>();
List<int> indexs = new List<int>();
List<KeyValuePair<int, int>> myList = new List<KeyValuePair<int, int>>();
public Form1()
{
InitializeComponent();
foreach (TreeNode node in advancedTreeView1.Nodes)
{
ListNodes(node, 1);
}
}
void ListNodes(TreeNode node, int depthLevel)
{
foreach (TreeNode subnode in node.Nodes)
{
ListNodes(subnode, depthLevel);
}
levels.Add(node.Level);
indexs.Add(node.Index);
myList.Add(new KeyValuePair<int, int>(node.Level, node.Index));
}
}
}
最后,我在 myList 键和值中看到例如:
0, 1
0, 4
3, 0
2, 1
左侧是级别,右侧是索引但我要添加的是对我自己的描述,因此在使用断点进行调试并查看列表时,我会看到如下内容:
Level = 0, Index = 1
Level = 0, Index = 4
Level = 3, Index = 0
Level = 2, Index = 1
所以更容易记住什么是级别,什么是索引。
这就是我解决它的方法。不是最好的方法,但它正在工作:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Dialog_System
{
public partial class Form1 : Form
{
List<int> levels = new List<int>();
List<int> indexs = new List<int>();
List<KeyValuePair<string, string>> myList = new List<KeyValuePair<string, string>>();
public Form1()
{
InitializeComponent();
foreach (TreeNode node in advancedTreeView1.Nodes)
{
ListNodes(node, 1);
}
foreach (KeyValuePair<string, string> keyvalues in myList)
{
int levelkey = Int32.Parse(keyvalues.Key.Substring(8));
int indexvalue = Int32.Parse(keyvalues.Value.Substring(8));
}
}
void ListNodes(TreeNode node, int depthLevel)
{
foreach (TreeNode subnode in node.Nodes)
{
ListNodes(subnode, depthLevel);
}
levels.Add(node.Level);
indexs.Add(node.Index);
myList.Add(new KeyValuePair<string, string>(
"Level = " + node.Level.ToString(), "Index = " + node.Index.ToString()));
}
}
}
解决方案
推荐阅读
- javascript - 如何从 nodejs 中的 JSON 请求有效负载中验证和删除不需要的属性?
- mongodb - 辅助关闭时,mongodb 无法删除数据库
- php - codeigniter 中的分页链接
- c# - 嵌套 LINQ 查询以按子对象属性过滤对象
- python - 我应该也固定开发要求,还是只是安装要求?
- linux - Nginx 将路由定义为服务器名称
- excel - 将数据从一个 Excel 工作簿复制到最后一行的另一个工作簿
- javascript - v8 -- 自动检测当前 Isolate
- oracle - ORA-01034: ORACLE 不可用,为什么要在 Linux 上为 Oracle Database 18c XE 配置数据库
- ms-access - 如何使用列表框过滤子表单