草庐IT

Variables

全部标签

c# - 检查 'success' 是否为 null 算作 "Double use of variables"?

我读到一个变量永远不应该做超过一件事。重载一个变量来做不止一件事是不好的。因此,我最终编写了如下代码:(使用customerFound变量)boolcustomerFound=false;CustomerfoundCustomer=null;if(currentCustomer.IsLoaded){if(customerIDToFind=currentCustomer.ID){foundCustomer=currentCustomer;customerFound=true;}}else{foreach(CustomercustomerinallCustomers){if(custome

c# - 检查 'success' 是否为 null 算作 "Double use of variables"?

我读到一个变量永远不应该做超过一件事。重载一个变量来做不止一件事是不好的。因此,我最终编写了如下代码:(使用customerFound变量)boolcustomerFound=false;CustomerfoundCustomer=null;if(currentCustomer.IsLoaded){if(customerIDToFind=currentCustomer.ID){foundCustomer=currentCustomer;customerFound=true;}}else{foreach(CustomercustomerinallCustomers){if(custome

C# 如何在运行时转储所有变量和当前值

是否有任何内置或第3方库允许您在运行时简单地将所有变量转储到内存中?我想要的是能够查看变量和当前值,类似于通过击中断点并悬停在变量上来查看它们,但实际上不必停止程序执行(即只需获取快照)。如果它可以将它们转储到一个文件中,稍后可以在程序中打开该文件以获得一个漂亮的GUI界面来查看它们,那就太好了,但是简单的文本文件转储就足够了。 最佳答案 我想不出以通用方式执行此操作的简单方法。可行的方法是以编程方式创建正在运行的进程的转储文件。您可以使用P/Invoke执行此操作dbghelp.dll例程或产生cdb.exe创建转储文件的过程。获

C# 如何在运行时转储所有变量和当前值

是否有任何内置或第3方库允许您在运行时简单地将所有变量转储到内存中?我想要的是能够查看变量和当前值,类似于通过击中断点并悬停在变量上来查看它们,但实际上不必停止程序执行(即只需获取快照)。如果它可以将它们转储到一个文件中,稍后可以在程序中打开该文件以获得一个漂亮的GUI界面来查看它们,那就太好了,但是简单的文本文件转储就足够了。 最佳答案 我想不出以通用方式执行此操作的简单方法。可行的方法是以编程方式创建正在运行的进程的转储文件。您可以使用P/Invoke执行此操作dbghelp.dll例程或产生cdb.exe创建转储文件的过程。获

c# - 如何覆盖而不是隐藏 C# 子类中的成员变量(字段)?

我想让它告诉我ItemA和ItemB的名称。它应该告诉我“Subitem\nSubitem”,但它告诉我“Item\nSubitem”。这是因为子项类中定义的“名称”变量在技术上与基项类中定义的“名称”变量不同。我想将原始变量更改为新值。我不明白为什么这不是最简单的事情,考虑到virtual和override与方法完美配合。我一直无法找出如何实际覆盖一个变量。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceExample{classProgram{staticv

c# - 如何覆盖而不是隐藏 C# 子类中的成员变量(字段)?

我想让它告诉我ItemA和ItemB的名称。它应该告诉我“Subitem\nSubitem”,但它告诉我“Item\nSubitem”。这是因为子项类中定义的“名称”变量在技术上与基项类中定义的“名称”变量不同。我想将原始变量更改为新值。我不明白为什么这不是最简单的事情,考虑到virtual和override与方法完美配合。我一直无法找出如何实际覆盖一个变量。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceExample{classProgram{staticv

c# - 以_开头的变量名是什么意思?

在使用C#编写我的第一个asp.netMVC应用程序时,我看到有一些变量的名称以下划线字符(_)开头。这是什么意思?有什么具体的含义吗? 最佳答案 没有语言定义的含义——它只是一些人用来区分实例变量和局部变量的约定。其他变体包括m_foo(和s_foo或g_foo或静态变量)或mFoo;或者有些人喜欢给局部变量(和参数)而不是实例变量加上前缀。我个人不使用这样的前缀,但这是一种风格选择。只要从事同一项目的每个人都保持一致,通常就不是什么大问题。不过,我看到了一些可怕的不一致的代码...

c# - 以_开头的变量名是什么意思?

在使用C#编写我的第一个asp.netMVC应用程序时,我看到有一些变量的名称以下划线字符(_)开头。这是什么意思?有什么具体的含义吗? 最佳答案 没有语言定义的含义——它只是一些人用来区分实例变量和局部变量的约定。其他变体包括m_foo(和s_foo或g_foo或静态变量)或mFoo;或者有些人喜欢给局部变量(和参数)而不是实例变量加上前缀。我个人不使用这样的前缀,但这是一种风格选择。只要从事同一项目的每个人都保持一致,通常就不是什么大问题。不过,我看到了一些可怕的不一致的代码...

c# - 什么是 C# 静态字段命名约定?

我最近开始使用ReSharper,这是一个很棒的工具。今天我遇到了静态字段的命名规则,即用下划线作为前缀。privatestaticstring_myString;这真的是命名静态变量的标准方式吗?如果是这样,那只是个人喜好和风格,还是有某种较低层次的影响?例如编译JIT等?这种风格起源于哪里?我一直将它与C++联系在一起,对吗? 最佳答案 Microsoft准则对私有(private)字段只字不提,它们只关注公开可见的成员。常见的约定是驼峰式、_驼峰式,有时甚至是C++/MFC的后遗症m_camelCase。如果您使用不带前缀的驼

c# - 什么是 C# 静态字段命名约定?

我最近开始使用ReSharper,这是一个很棒的工具。今天我遇到了静态字段的命名规则,即用下划线作为前缀。privatestaticstring_myString;这真的是命名静态变量的标准方式吗?如果是这样,那只是个人喜好和风格,还是有某种较低层次的影响?例如编译JIT等?这种风格起源于哪里?我一直将它与C++联系在一起,对吗? 最佳答案 Microsoft准则对私有(private)字段只字不提,它们只关注公开可见的成员。常见的约定是驼峰式、_驼峰式,有时甚至是C++/MFC的后遗症m_camelCase。如果您使用不带前缀的驼