C# - 如何在没有 IDE/Visual Studio 的情况下编写程序? [关闭]

2024-02-16

我正在 Notepad++ 和 MonoDevelop 中仅使用 .cs 文件而不是解决方案来制作 C# 控制台应用程序。我从 CMD 编译代码。

我想在我的简单“Hacked”程序中添加两个类,该程序仅显示大量 0 和 1。每次我尝试进行对象引用时,编译器都会出现错误,提示我需要对非静态字段进行引用。使方法静态是可行的,但我不认为每个方法都应该是静态的。

所以我的问题是,如何在没有 IDE 的情况下进行对象引用?

编辑:我通过将变量设为静态找到了解决方案。我知道当一个方法是静态的时,可以从任何类访问它而无需引用。我只是测试一个类参考来了解更多有关 C# 的信息。但我将类引用变量设置为静态,并且引用类中任何非静态的内容都可以正常工作。感谢大家帮助我,因为你们的建议和解释确实对我有帮助。


很高兴看到有人开始如此简单。无论您是在 VisualStudio 还是简单的文本编辑器中工作,对象引用都是相同的。

这实际上是你的错误code而不是您没有使用 IDE 的事实。

我假设您还没有过多地了解面向对象编程,并且这些都是简单的单类程序,可以帮助您入门。

在这种情况下,所有其他方法、字段等都可以通过某种方式从您的public static Main(string[] args)方法。静态方法可从所有类访问,并且不需要对象实例。没有实例访问的方法和字段必须是静态的。

所以,在这种情况下,是的,每种方法does需要是静态的。

看看这个问题,什么是“静态方法”? https://stackoverflow.com/questions/4124102/whats-a-static-method-in-c

例如,假设您创建一个名为Math,并创建一个Pow(int x, int power)(power) 方法(这是 .NET 框架的一部分)。你会做这个功能static因为您希望所有类都能够访问它,而无需创建该实例Math class.

int square = Math.Pow(2, 2); //Static method, no instance needed

现在说,你创建了一个名为Book,这个类有这样的方法GetPagesLeft()。在这种情况下,它特定于“书”的每个实例,并且不应该static,因为它适用于每个实例。

Book book = new Book(); //Create instance
int pagesLeft = book.GetPagesLeft(); //Instance method

不要害怕使用静态方法,它们的存在是有原因的。

请注意,我不是专业的开发人员,因此我使用的一些术语可能不完全正确,但我希望它能表达要点。

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

C# - 如何在没有 IDE/Visual Studio 的情况下编写程序? [关闭] 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • 如何使用 MongoDB 转移资金?

    Account has embedded Transactions amount positive for received transactions negative for outgoing transactions 用户想要汇款 我们
  • Excel VBA 的 LIFO(堆栈)算法/类

    我正在寻找在 Excel 的 VBA 中实现 Stack 类 我想使用后进先出结构 以前有人遇到过这个问题吗 你知道外部库处理结构 如 Stack Hastable Vector 除了原始的 Excel Collection 等 Thank
  • VC++ 从解决方案中的非 /clr 项目的函数调用 /clr 项目的函数

    我提到这个有点类似的问题 https stackoverflow com questions 3994073 calling a function from a win32 lib project with clr from a proje
  • 围绕中心旋转图像 css3

    我正在尝试围绕其中心旋转一个世界 但似乎无法以正确的方式旋转它 围绕其自己的中心轴 很难解释 所以我做了一个演示 world webkit animation spin1 2s infinite linear moz animation s
  • iOS:UIGestureRecognisers 与 Subviews 的问题

    我编写了以下代码将手势识别器附加到多个图像视图 imageview1 setUserInteractionEnabled YES imageview1 setMultipleTouchEnabled YES imageview2 setUs
  • 最新的 Google Play Services 9.6.80 导致“FirebaseCrash:无法初始化崩溃报告”

    请注意 最新版本的应用程序在全新安装且启用了 FirebaseCrash 的情况下 应用程序花费了相当长的时间 启动超过一分钟 并最终出现以下崩溃 从应用程序中删除 firebase 崩溃库有助于缩短时间 09 14 14 31 08 88
  • 我如何在JavaFX中进行异步数据库[重复]

    这个问题在这里已经有答案了 我有个问题 我怎样才能在JavaFX中做异步数据库 我知道 SwingWoker 存在 但我读到我不能在 JavaFX 中使用它 我读到了有关 Task 的内容 但我可以将结果转换为 ObservableList
  • std::sort() 中使用哪种类型的排序?

    谁能告诉我哪种类型的排序技术 冒泡 插入 选择 快速 合并 计数 是在std sort 函数定义在
  • java hibernate:在多态 hql 查询中选择鉴别器列

    在休眠中 我想选择鉴别器值 就像是 select discriminator id name age from Animal 这个想法是将此查询的结果发送到客户端 以便我可以根据鉴别器列的值 即猫 狗 大象等 显示不同的图标 那可能吗 如何
  • 使用推力进行简单排序不起作用

    我有一个cuda推力程序 include
  • 如何从 Haskell 的 read 函数中捕获 no parse 异常?

    在我的 Haskell 程序中 我想使用以下命令读取用户给出的值getLine功能 然后我想使用read函数将此值从字符串转换为适当的 Haskell 类型 我怎样才能捕捉到抛出的解析错误read函数并要求用户重新输入值 我是否正确地认为这
  • 如何检查 iOS 中的视图层次结构?

    是否有一个 GUI 工具可以检查 iOS 应用程序的视图层次结构 我正在考虑 Webkit 的网络检查器或类似工具 我正在寻找调试布局问题 例如视图的位置或大小错误 或者子视图未正确包含在其父视图中 目前 我必须添加断言来手动测试这些不同的
  • ICollectionView 取消当前更改

    我正在寻找一种方法来根据单击的项目取消 CurrentChanging 事件 在我的应用程序中 我使用 ICollectionView 来保存视图模型列表 这些视图模型在选项卡控件中呈现为选项卡项 对于特定的视图模型 我需要在激活视图模型之
  • 使用 sqlite 在 django 上实现不区分重音的搜索

    这个问题与我之前的问题有关重音不敏感搜索 django sqlite https stackoverflow com questions 31327019 accent insensitive search django sqlite 正如
  • a* 与 (a*)* 相同吗?

    快速提问 如果a是一个正则表达式 那么这是真的吗a a Is a 有效的表达 如果是 那么任何人都可以解释为什么它与a 我很抱歉在这里提问 但我无法通过谷歌找到任何东西 Yes a a 是一样的 两者都生成相同的语言 即字符串包含的任何数字
  • 逐个用户名查询需要超过 1 个参数

    我必须实现一个 spring 安全部分 它有超过 1 个参数来获取用户 它将通过 ID 和产品名称获取用户 我知道逐个用户名查询只能提供一个参数 我想知道是否可以提供许多逐个用户名查询选项并给他们某种 ID 但我不确定如何验证时将被引用 有
  • JavaScript for in 循环,但相反?

    采用具有 4 个属性的 JavaScript 对象 function Object this prop1 this prop2 this prop3 this prop4 var obj new Object 我使用 for in 循环来检
  • 播放 Json:将 Reads[T] 转换为 Reads[Seq[T]] 而不使用隐式

    我有一个Reads T 我想解析一个 Json 对象 它应该是一个数组T的 有没有简单的方法获得Reads Seq T without定义我的Reads T 隐含的 本质上 我正在寻找一个需要的函数Reads T 并返回Reads Seq
  • 理解 ngRepeat 'track by' 表达式

    我很难理解如何track byAngularJS 中 ng repeat 的表达有效 文档非常稀缺 http docs angularjs org api ng directive ngRepeat http docs angularjs
  • C# - 如何在没有 IDE/Visual Studio 的情况下编写程序? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在 Notepad 和 MonoDevelop 中仅使用 cs 文件而不是解决方案来制作 C 控制台应用程序 我从 CMD 编译代码 我