为什么我们需要结构体? (C#)

2024-04-12

要使用结构体,我们需要实例化该结构体并像使用类一样使用它。那我们为什么不首先创建一个类呢?


结构是一种值类型,因此如果您创建副本,它实际上会物理复制数据,而对于类,它只会复制对数据的引用

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

为什么我们需要结构体? (C#) 的相关文章

  • 我应该把 try/catch 和“using”语句放在哪里? [复制]

    这个问题在这里已经有答案了 可能的重复 try catch using 正确的语法 https stackoverflow com questions 4590490 try catch using right syntax 我想try c
  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • 是否可以从 C++ 应用程序调用 C# 应用程序?

    我是一名编程学生 现在我已经上了两门 C 课程 这个学期我将参加我的第一门 C 课程 出于好奇 是否可以从 C 应用程序调用 C 应用程序 如果是的话 是否还可以检查运行该程序的计算机是否具有 NET框架 我只是很好奇 我想如果可能的话 这
  • IEnumerable 的 String.Join(string, string[]) 的类似物

    class String包含非常有用的方法 String Join string string 它从数组创建一个字符串 用给定的符号分隔数组的每个元素 但一般来说 它不会在最后一个元素之后添加分隔符 我将它用于 ASP NET 编码 以用
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • 叮当错误?命名空间模板类的朋友

    以下代码在 clang 下无法编译 但在 gcc 和 VS 下可以编译 template
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • C# 编译器数字文字

    有谁知道 C 编译器数字文字修饰符的完整列表 默认情况下 声明 0 使其成为 Int32 声明 0 0 使其成为 Double 我可以在末尾使用文字修饰符 f 来确保某些内容被视为 Single 例如像这样 var x 0 x is Int
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • 如何在 C# 中获取 Json 数组?

    我有一个像这样的 Json 字符串 我想将它加载到 C 数组中 当我尝试这样做时 我收到异常 我的字符串 customerInformation customerId 123 CustomerName Age 39 Gender Male
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可
  • 如何提高环复杂度?

    对于具有大量决策语句 包括 if while for 语句 的方法 循环复杂度会很高 那么我们该如何改进呢 我正在处理一个大项目 我应该减少 CC gt 10 的方法的 CC 并且有很多方法都存在这个问题 下面我将列出一些例如我遇到的问题的

随机推荐

  • SSRS 2014 数据库设置 - 错误“使用其他版本的 SQL Server 作为报表数据源...”不受支持

    我正在 Windows Server 2012 R2 服务器上设置新的 SQL Server 2014 Enterprise Reporting Services 实例 在 Reporting Services 配置管理器中 当我选择要在其
  • 使更新进度面板位于中心

    我对更新进度面板有疑问 我想在屏幕中间安装更新进度面板 谁能建议我 这样做的想法是什么 您可以使用 css 来做到这一点
  • Environment.Exit 和 Main 中的简单返回 2 之间的区别

    从应用程序外部来看 两者之间有什么区别吗 Environment Exit 2 and static int Main return 2 最明显的区别是您可以从代码中的任何位置调用Environment Exit 除此之外 如果还有其他前台
  • 在 C# 中打印表单/用户控件

    我的计划 包含一个带有几个文本框和一个按钮的表单 默认打印机 设置为Adobe PDF在我的电脑上 My Goal 想要在用户单击 打印 按钮时截取表单 用户控件的屏幕截图 然后屏幕截图将以 pdf 格式保存在桌面上 我的问题 我的代码有以
  • 如何使用itextsharp从表结构PDF中读取数据?

    我在从 pdf 文件读取某些数据时遇到问题 我的文件是结构化的 它包含表格和纯文本 标准解析器从同一行的不同列读取数据 例如 Some Table Header Data Col1a Data Col2a Data Col3a Data C
  • 反应孩子与父母的沟通问题

    我正在构建一个猜谜游戏 其中问题和选择逻辑位于名为 问题 的组件中 我无法让应用程序读取问题代码 我希望应用程序中的状态根据子组件中的选择进行更新 我一直在尝试对解决方案进行逆向工程ReactJS中如何将数据从子组件传递到父组件 https
  • 使用 Schedulers 时,System.out.println 在 RxJava 中不打印任何内容

    我正在摆弄 RxJava 和调度程序 我用调度程序实现了一个非常简单的流 Observable just 1 2 3 doOnNext v gt Thread currentThread getName subscribeOn Schedu
  • 包 org.apache.commons.io 不存在错误

    我正在使用 ant 编译器编译 java 文件 我收到以下错误 包 org apache commons io 不存在错误 我下载了 apache Commons IO 二进制文件并将 jar 文件粘贴到 C Program Files J
  • pyshark - 来自 TCP 数据包的数据

    有没有办法使用 pyshark 获取 TCP 数据包的有效负载 我正在尝试比较多个 TCP 流中不同数据包的数据部分 但我找不到获取数据包数据的方法 pkt tcp data似乎不存在 如果您使用的是 pcap 文件 则在使用以下命令读取该
  • Autofixture 测试无效的构造函数参数

    我有以下课程和测试 我想测试将空值作为参数传递给构造函数并期待ArgumentNullException 但由于我使用 AutofixtureCreateAnonymous方法我得到一个TargetInvocationException反而
  • Mac OS 上“导入 cv”期间出现“分段错误”

    尝试在我的 Mac 上从源代码编译 opencv 我有以下 CMakeCache txt http pastebin com KqPHjBx0 http pastebin com KqPHjBx0 I make ccmake press c
  • 如何使用 Mongoid 更新 Rails 中嵌套的 Mongo 文档属性?

    如果这个问题缺乏细节 请提前道歉 我会看评论并添加我能添加的内容 我有一个具有以下内容的模型 class Product include Mongoid Document include Mongoid Timestamps field d
  • 运行模拟器时出错:架构 i386 的重复符号

    我添加了 ShareKit 框架来尝试 这是在模拟器中运行它的错误 duplicate symbol LFHRReadStreamClientCallBack in Xcode DerivedData build Objects norma
  • eclipse 无法删除某些断点

    双击eclipse左侧的蓝色条设置断点 再次双击可删除断点 这对我来说非常有用 但如果我使用 git 来签出不同的分支 通常断点的蓝点会变得 混乱 或其他什么 我无法再双击来取消它们 我被迫进入调试视角 并在 断点 视图中找到断点 然后右键
  • C# 正则表达式匹配带点的单词

    敏捷的棕色狐狸跳过了 懒狗 是英语 全字母表 字母表 也就是一个短语 包含所有字母 字母表 它已被用来测试 打字机字母表 和电脑 键盘和其他应用程序 涉及到所有的字母 英文字母表 我需要得到 字母表 正则表达式中的单词 上面的文字中有3个实
  • Telerik 报告不起作用

    处理报表 ReportStandart 时发生错误 无法建立与数据库的连接 请验证您的连接字符串是否有效 如果您使用应用程序配置文件中的命名连接字符串 请确保名称正确并且连接字符串设置存在于应用程序的配置文件中 内部异常 转到报表项目所在的
  • 从外部 php 系统登录 Odoo

    我有一个要求 我需要从外部 php 系统重定向到 Odoo 并且用户也应该登录 我想到了以下两种方法来完成此任务 来自 php 端的 url 重定向 它调用特定的控制器 并沿着 url 传递凭据 由于显而易见的原因 这不是一个安全的选项 从
  • 程序中出现了“\303”和“\215”——为什么? [复制]

    这个问题在这里已经有答案了 而不是我发现的程序中的杂散 302 here https stackoverflow com questions 5167656 error stray 302 in program 我收到错误消息 algo c
  • 获取公共 Google 文档文件的下载链接

    正在阅读谷歌文档 API http code google com apis documents docs 3 0 developers guide protocol html DownloadingFiles我发现这个 正在下载 无法以其
  • 为什么我们需要结构体? (C#)

    要使用结构体 我们需要实例化该结构体并像使用类一样使用它 那我们为什么不首先创建一个类呢 结构是一种值类型 因此如果您创建副本 它实际上会物理复制数据 而对于类 它只会复制对数据的引用