【发布时间】:2012-11-29 11:04:45
【问题描述】:
我将给出一个我熟悉的使用 C 实现的简单示例。我认为重点是如何使用数据,而不是我在示例中使用它做什么:)
typedef struct
{
const char *description;
uint32_t colour_id;
uint32_t quantity;
} my_data_t;
const my_data_t ref_data[] =
{
{"Brown Bear", 0x88, 10},
{"Blue Horse", 0x666, 42},
{"Purple Cat", 123456, 50},
};
void show_animals( void )
{
my_data_t *ptr;
ptr = &ref_data[2];
console_write("Animal: %s, Colour: 0x%8X, Num: %d",
ptr->description,
ptr->colour_id,
ptr->quantity);
}
所以我正在寻找有关如何在 C# 中实现类似数据表或参考数据的建议。我掌握了更高层次的东西,但我还没有处理任何表驱动的数据方法。
作为一个例子,我可能在 C# 中尝试做的是有一个组合框允许从 description 字段中进行选择,而 color id 和 quantity 可用于更新只读框。
这是一个非常简单的例子,但如果我能确定一种实现它的好方法,我可以将其推断为我实际正在做的事情。
【问题讨论】:
-
如果你真的来自 C 背景,你很快就会发现 C# 不好... +1 无论如何都是一个好问题。
-
@H2CO3:可争议的评论。每种语言在世界上都有其适当的用途和位置,尤其是广泛使用的语言,例如
C#。如果你让F1超级跑车驶过高尔夫球场,将会导致失败。让我们在合适的地方使用漂亮的工具...... -
@Tigran 这个比喻值得一票。
-
@Tigran 我同意……在很多方面,C 允许优秀的程序员做一些非常强大的事情。它也允许糟糕的程序员做一些真正可怕的事情! :)
-
我的意思是,使用
C#在 90% 的情况下,您可以比在C或C++中做的事情更多,即使您感觉自己在那种语言中的工作效率很高。.NET是非常强大和高效的环境,不要低估它。当然,我再说一遍,如果您正在编写编译器、驱动程序、游戏、CAD 程序,如果可以的话,最好选择其他的。