gpt4 book ai didi

c# - 指向数组元素

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:24 25 4
gpt4 key购买 nike

我想要实现的是说我有一个数组,我希望能够通过指向它来修改整个代码中的特定数组元素。

例如在 C++ 中我可以做到这一点

int main(){
int arr [5]= {1,2,3,4,5};
int *c = &arr[3];
cout << arr[3] <<endl;
*c = 0;
cout << arr[3]<<endl;
}

我做了一些谷歌搜索,似乎有一种方法可以通过“不安全”来实现,但我真的不想走那条路。

我想我可以创建一个变量来存储索引,但实际上我要处理稍微复杂一些的东西(列表中的列表。所以有两个索引变量似乎会增加代码的复杂性。)

C# 有一个数据绑定(bind)类,所以我目前正在做的是将数组元素绑定(bind)到一个文本框(我已经隐藏)并在我想修改特定数组元素时修改该文本框,但这也不是一个好方法解决方案(因为我有一个未用于其预期目的的文本框 - 有点误导)。

最佳答案

用 C# 示例说明您希望使用的外观如何会有所帮助。如果我明白你在问什么,像这样的简单类(class)就可以做到。不过,您的要求似乎不是一个好主意。如果您展示了您需要此功能的更大范围,有人可能会指出您根本不需要此类功能的更好设计。

public class ListElement<T> {
private IList<T> list;
private int index;
public ListElement(IList<T> list, int index) {
this.list = list;
this.index = index;
}
public T Value {
get {
return list[index];
}
set {
list[index] = value;
}
}
}

使用这个看起来像

int[] arr = new int[] {1,2,3,4,5};
ListElement<int> third = new ListElement<int>(arr, 2);
Console.WriteLine(third.Value);
third.Value = 0;
Console.WriteLine(third.Value);

关于c# - 指向数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918535/

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