我使用时如何分配内存:
public class MyClass
{
public const string myEVENT = "Event";
//Other code
}
Run Code Online (Sandbox Code Playgroud) 对于这样的类型:
public class BlurEffect
{
public const string Name = "Blur";
public int Amount {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我有一些成员,例如.Name,所有成员都相同,我应该将其设为静态吗?
我只是不希望它按实例存储,或使用不必要的资源,并且它们也应该是只读的。
最后我想要它的实例访问权限,所以我可以说:
模糊效果.名称
我应该创建一个返回私有静态变量的 Name 属性吗?这是最好的方法吗?
对C#static/const成员/局部变量有疑问.只想知道在C#中分配给未使用的static/const成员/局部变量的内存会发生什么,在以下示例场景中如何回收内存?
问题是关于静态和常量变量的内存行为[考虑每个App-Domain内存块 - 静态存储]?这个问题与垃圾收集无关.它是关于内存和未使用的静态和const变量(也)有内存会发生什么?
Spaghetti Code代码段:
/// <summary>
/// Skew your data with every-second-and-annoyed updates
/// </summary>
class Skewgle
{
static Skewgle cloneApele = new Skewgle();
const Skewgle patentMoto = default(dynamic);
static int? dontBeEvilMotto = 1998;
const int ditchMotoToBeEvil = 2014;
static void Main()
{
const Skewgle findYourMailsAlreadyReadBetweenSpamTabs = patentMoto;
if (findYourMailsAlreadyReadBetweenSpamTabs == null)
{
System.Console.WriteLine("findYourMailsAlreadyReadBetweenSpamTabs and patentMoto are null");
}
if (cloneApele != null)
{
System.Console.WriteLine("cloneApele is not null");
}
System.Console.WriteLine("What about dontBeEvilMotto? ditchMotoToBeEvil?");
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢