gpt4 book ai didi

C# - 使用控件的类中的数组基础结构

转载 作者:行者123 更新时间:2023-11-30 20:37:44 25 4
gpt4 key购买 nike

我只是好奇这是否可以实现:我目前遇到了一个问题,我正在使用 Controller 在类中设置和获取数据,这是通过处理程序端的方法和实例完成的。

我只是想知道,因为做 public string x { get;放; 对于您的项目包含的每个属性,可能会变得非常冗长。

有没有一种方法可以在类中实现这种意识形态?

public core Array[] (
Option1 => string Array[] (
Name => 'example'
),
Option2 => String Array[] (
Name => 'example2'
) { set; get; }
);

当然,这只是一种理论,并不是确切的解决方案。我想知道我是否会:

1) 将数据附加到索引时需要一个 Controller 。
2) 需要实例化 Controller 处理的类,或者我是否可以通过主类方法来实现。
3) 需要一个多维数组或列表。

我目前的解决方案是冗长的,并且由于核心站点使用的大量数据,它对添加的每个功能的响应都在下降。

任何人都可以引用任何基础设施引用资料,或者可以介绍一下如何使用这种思想实际分配属性吗?

提前致谢。

编辑:我的意思是这样的(PHP):

$example = array (
'location1' => array(
'location_id' => 1
),
'location2' => array(
'location_id' => 2
)
);

现在可以通过以下方式更轻松地处理数据:

foreach($example as $k=>$v){//待办事项:处理 }

所以这里 $k 成为您的数组名称(即它可以是名称、地址),$v 成为您的嵌套数组,使数据更易于处理。

最佳答案

虽然我强烈反对使用这种模式,但我仍然认为了解它很有值(value)。

我认为您正在寻找 Dictionary<TKey, TValue> .它提供了一种将任何类型的键映射到任何类型的值的方法。对于您的用例:

IDictionary<string, string> DynamicProperties {get; set;} = new Dictionary<string, string>
{
{ "FirstName", "John" },
{ "LastName", "Doe" }
};

然后您可以使用循环遍历您的“属性”:

foreach(KeyValuePair pair in DynamicProperties)
{
string key = pair.Key; // "FirstName", "LastName"
string value = pair.Value; // "John", "Doe"
// Use them as you wish.
}

你也可以有字典的字典。为了匹配您更新的示例:

IDictionary<string, IDictionary<string, int>> Example {get; set;} = new Dictionary<string, IDictionary<string, int>>
{
{"location1", new Dictionary<string, int> {{"location_id", 1}}},
{"location2", new Dictionary<string, int> {{"location_id", 2}}}
};

但看看这段代码 - 您正在寻找简单性。这一点都不简单,也不简短、清晰或可测试。拥有类和属性是 C# 的必经之路。

我认为问题的根源在于您使用 C# 进行编码,但使用 PHP 思想进行思考。 C# 是强类型,而 PHP 是弱类型,(参见 wiki article),您需要适本地重新调整您的想法。

关于C# - 使用控件的类中的数组基础结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35773393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com