更改对象列表中的一个元素属性值也会更改所有元素值

2024-04-01

这是我的班级,名为“Objek”。

public class Objek
{
    public int id;
    public int tipe;
    public int bentuk;
    public List<int> x { get; set; }
    public List<int> y { get; set; }
    public int xC { get; set; }
    public int yC { get; set; }
    public Color Warna { get; set; }
    public Objek()
    {
        this.Warna = Color.Black;
        this.x = new List<int>();
        this.y = new List<int>();
    }
    public Objek(int tipe, int bentuk)
    {
        this.tipe = tipe;
        this.bentuk = bentuk;

        this.Warna = Color.Black;
        this.x = new List<int>();
        this.y = new List<int>();
    }
}

然后在 form1.cs 中我全局声明了这个(在任何方法之外):

Objek temp = new Objek();

输入“temp”的值后,我将其存储到列表中:

List<Objek> Objek = new List<Objek>(); with Objek.Add(temp);问题是每当我更改元素的属性值之一(例如:Objek[0].Warna = Color.Red)存储超过 1 个“temp”对象后,所有Objek[0, 1, ..., n].Warna也改为红色。

有人可以解释一下这些代码中我的错误在哪里吗?


听起来您正在将相同的对象引用添加到列表中。移动Objek temp = new Objek();在方法内部,以便您每次都创建一个新对象,否则每次您调用此方法时,它都会使用/添加同一个物体.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改对象列表中的一个元素属性值也会更改所有元素值 的相关文章

  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • php如何生成动态list()?

    根据我的理解 这就是 list 的工作原理 list A1 A2 A3 array B1 B2 B3 所以在帮助下list 我们可以相应地从数组中分配值 这是我的问题 如何生成动态list 1 基于数据库返回结果 我不确定有多少 但我将其全
  • 当一组凭据下的计划任务启动的进程在另一组凭据下运行另一个程序时,Windows 是否有限制

    所以我有一个简单的例子 其中我有应用程序 A 它对用户 X 本地管理员 有一些硬编码的凭据 然后它使用硬编码的绝对路径启动带有这些凭据的应用程序 B A 和 B 以及 dotnet 控制台应用程序 但是它们不与控制台交互 只是将信息写入文件
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • 在Linux中,找不到框架“.NETFramework,Version=v4.5”的参考程序集

    我已经设置了 Visual studio 来在我的 Ubuntu 机器上编译 C 代码 我将工作区 我的代码加载到 VS 我可以看到以下错误 The reference assemblies for framework NETFramewo
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 使用 C 在 OS X 中获取其他进程的 argv

    我想获得其他进程的argv 例如ps 我使用的是在 Intel 或 PowerPC 上运行的 Mac OS X 10 4 11 首先 我阅读了 ps 和 man kvm 的代码 然后编写了一些 C 代码 include
  • 使用 pandas 单元格中列表的长度选择行[重复]

    这个问题在这里已经有答案了 我有一张表 df a b c 1 x y x 2 x z c d 3 x t e f g 只是想知道如何使用 c 列的长度选择行 such as df loc len df c gt 1 我知道这是不对的 正确的
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • 来自树形形式的自引用表的分层数据

    看起来在所有简单的情况下都已经询问并回答了这个问题 除了我遇到麻烦的情况之外 我尝试使用递归 CTE 来生成它 但也许光标会更好 或者也许一组递归函数可以解决问题 这可以在 cte 中完成吗 考虑下表 PrimaryKey ParentKe
  • 应用程序通过 Open Graph 发送事件邀请时没有通知

    我的代码看起来像这样 FB api eventId invited users selectedFriends join post message body function response if response response er
  • __import__ 与 imp.load_module

    我在尝试使用 IronPython 安装 autopep8 时遇到错误 ImportError No module named logilab 失败的代码片段是 def load module self fullname self reop
  • django应用程序静态文件在生产中不起作用

    即使对于管理页面 静态文件也无法在生产中运行 我没有添加任何静态文件 我的管理页面样式有问题 我按照以下教程创建了 django 应用程序 https tutorial djangogirls org en https tutorial d
  • isset() 或 !empty() 函数作用于视图中的所有变量?

    你好 我正在使用 CakePHP 我想知道你们是否在视图中的所有变量周围放置了 isset 或 empty 或者我应该依赖数据验证 建议的解决方案是什么 我想你应该知道之间的区别isset and empty并使用满足您需求的那个 empt
  • 如何在 Amazon Linux AMI 上设置 cron 作业

    我正在托管 Tiny Tiny RSS 网站 托管于 亚马逊 Linux AMI 要自动更新 feed 我必须运行以下 Cron 作业 参考http tt rss org redmine projects tt rss wiki Updat
  • Rails 循环遍历表单字段中的数据

    我想在表单中循环访问数据库中的数据 我想对数据做的是将其放入标签和文本框中 我怎样才能在 Rails 中做到这一点 我是否可以使用 each 块在表单内循环遍历它 我将其保存在数据库中的原因是因为我的客户希望能够自己添加表单字段数据 例如
  • 使用三 (3) 个背景图像 css 的按钮

    我正在尝试使用三个背景图像制作一个按钮 以便我们可以提取按钮文本的翻译并很好地扩展 我们可能会为 IE8 添加一个基本样式 但我们的设计师希望我们使用这种样式 而我们无法使用纯 CSS3 很好地重新创建它 Here are the imag
  • Netbeans 7.4 - 排除 LESS 部分源文件编译为 css

    这主要是一个令人讨厌的问题 在我的 css 目录中造成混乱 我想知道在 Netbeans 7 4 或 8 0 beta 中是否有任何方法可以将 LESS 文件标记为在运行 保存时不进行编译 我有一个library less和vars les
  • 装修调度系统

    我想使用多个处理器并行执行线性运算 将复杂的数学函数拟合到某些数据集 假设我的机器有 8 个核心 我想要容纳 1000 个数据集 我期望的是某个系统将 1000 个数据集作为队列 并将它们发送到 8 个核心进行处理 因此它首先将 1000
  • 根据 Python 中的数组值拆分数组

    我有一个像这样的坐标数组 array 1 6 2 6 3 8 4 10 5 6 5 7 18 6 19 5 17 9 10 5 我想将数组拆分为6 and 7 协调 5 7 18 6 因为有一个间隙X那里的价值 我想得到两个单独的数组 ar
  • 通过intent-Android打开地图显示当前位置的方向

    我的 Android 应用程序中有很多纬度经度 我想知道如何通过意图打开选择器或 Google 地图应用程序 并显示从当前位置到该纬度和经度的方向 就像我有 lat 28 605989 lon 77 372970 并且我当前的位置在某个地方
  • 监控 kubernetes 作业

    我的 Kubernetes 作业需要不同的时间才能完成 4 到 8 分钟之间 有什么方法可以让我知道工作何时完成 而不是在最坏的情况下等待 8 分钟 我有一个执行以下操作的测试用例 1 Submits the kubernetes job
  • Google 云端硬盘 + ACTION_GET_CONTENT

    Google 云端硬盘似乎有一个响应 GET CONTENT 操作的活动 但未导出 我可以在应用程序中使用另一种方法从云端硬盘中提取内容 而无需启动该过程from驾驶 自己编写一个选择器 选择器活动并使用后端 API 列出和打开文件显然是一
  • 函数返回类型不清楚的问题

    我有以下相当简单的 F 函数 let FormatValue formatProvider IFormatProvider valueSuffix value match value gt Convert ToDecimal valueSu
  • 在不同机器上绘制图元文件时缩放比例不同

    我在使用以毫米为测量单位的图元文件的 WinForms 应用程序中获得一致的缩放时遇到问题 我编写了一个小示例应用程序来说明该问题 This is how the application looks on a Windows 7 deskt
  • 函数模板和模板函数有什么区别?

    函数模板和模板函数有什么区别 术语 功能模板 是指一种模板 术语 模板函数 有时用于表示同一事物 有时用于表示从函数模板实例化的函数 最好通过对前者使用 函数模板 和对后者使用 函数模板实例 或 函数模板实例 之类的内容来避免这种歧义 请注
  • 在 UWP (C#) 中尝试运行桌面扩展应用程序时“访问被拒绝”

    我正在尝试运行教程代码FullTrustProcess启动器 https learn microsoft com en us uwp api Windows ApplicationModel FullTrustProcessLauncher
  • R如何计算两行之间的“变化百分比”?

    我喜欢在 Item 时计算 两行之间的变化百分比 行的变化 对于第一行项目 我可以放置一些文本或空白 例如 跳过 或空白都可以 因为没有比较前一行的相同内容 物品 df lt data frame period rep 1 4 2 farm
  • 更改对象列表中的一个元素属性值也会更改所有元素值

    这是我的班级 名为 Objek public class Objek public int id public int tipe public int bentuk public List