当前位置:  开发笔记 > 编程语言 > 正文

C#通过动态格式化其名称来调用变量

如何解决《C#通过动态格式化其名称来调用变量》经验,为你挑选了1个好方法。

我在datagridview中有12列(它们是从v1到v12的12个属性).是否可以创建一个像这样的动态系统:

int i = 5;
var variablename = "v" + i;
String content = product.variablename;

这将是一个通用的功能

if(i == 5) {
    content = product.v5
}

是的,我知道命名我的属性v1-v12不是一个好习惯,但它有它的用途.我可以写12条if条款,但我只是想知道它是否可能.

编辑:

在具体示例中,我有一个包含每个v1-v12属性的8000个产品的数组.我想动态获取特定单元格的值,因此产品[row].(v + column)应该成为产品[23] .v5.

它更像是一个案例,而不是实际需要,只是想知道它是否可以完成.



1> Yahya..:

字典将为您提供灵活性和控制权,以便您可以随意存储并检索它们而无需使用反射等.

var values = new Dictionary();
values.Add("v" + i, "somevalue");

并检索它:

var storedValue = values["v" + i];

另外,如果您使用数据网格视图有多行.您还可以使用DataTable存储信息.或者,如果您有一个固定的结构,为什么不创建一个代表该信息和使用的类List

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有