小编Rus*_*hyo的帖子

如何将枚举设置为null

我有一个枚举

string name;

public enum Color
{
  Red,
  Green,
  Yellow
}
Run Code Online (Sandbox Code Playgroud)

如何在加载时将其设置为NULL.

name = "";
Color color = null; //error
Run Code Online (Sandbox Code Playgroud)

编辑:我的不好,我没有正确解释.但所有与可空的相关的答案都是完美的.我的情况是如果,我已经在类中使用其他元素(例如名称等)获取/设置枚举.在页面加载时,我初始化类并尝试将值默认为null.这是场景(代码在C#中):

namespace Testing
{
    public enum ValidColors
    {
        Red,
        Green,
        Yellow
    }

    public class EnumTest
    {
        private string name;
        private ValidColors myColor;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public ValidColors MyColor
        {
            get { return myColor; }
            set { myColor = value; }
        }

    }

    public partial class _Default : …
Run Code Online (Sandbox Code Playgroud)

c# null enums nullable

172
推荐指数
5
解决办法
20万
查看次数

如何恢复SVN工作副本中的ONLY目录?

我想恢复SVN工作副本中的目录和所有子目录,以便它们与存储库匹配,但我不想触摸这些目录中的任何文件.

我的一个SVN应用程序递归地在我的工作副本中的每个目录上设置了一个SVN属性,但我想恢复这些更改以阻止它突出显示它们并尝试将更改提交给SVN属性.简单地改变它以匹配HEAD是行不通的.

有任何想法吗?我已经阅读了各种SVN资源,但它们似乎都没有处理这种边缘情况.

svn directory recursion properties revert

17
推荐指数
2
解决办法
2万
查看次数

创建包含IP地址主题备用名称的计算机请求

我正在尝试使用IP地址SAN创建请求.这是负责创建CAlternativeName的函数:

public static CAlternativeNameClass GetCurrentIpName() {
    //get current machine IP address
    IPAddress ip = GetCurrentIp();

    if (ip == null) {
        return null;
    }

    try {
       CAlternativeNameClass nameClass = new CAlternativeNameClass();
       nameClass.InitializeFromString(AlternativeNameType.XCN_CERT_ALT_NAME_IP_ADDRESS, ip.ToString());
       return nameClass;   
    } catch (Exception e) {
        Console.WriteLine(e);
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我收到了下一个错误:

System.ArgumentException: Value does not fall within the expected range.
              at CERTENROLLLib.CAlternativeNameClass.InitializeFromString(AlternativeNameType Type, String strValue)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# self-signed certenroll

7
推荐指数
1
解决办法
471
查看次数

为什么Marshal.DestroyStructure被认为是Pure?

Marshal.DestroyStructure在.NET Framework中标有Pure属性,但是我不确定为什么它在调用它的上下文中明显有效.

即使状态没有直接修改指针实例本身,也会修改状态(指针被释放).

问题中隐含的是:开发人员是否真诚地将某些东西标记为纯粹,即使她知道它间接地修改了上下文的状态?

.net c# unmanaged code-contracts

6
推荐指数
1
解决办法
535
查看次数

正在编译 GCC NOP

从我通常的 VC++ 领域冒险进入 GCC 的世界(通过 MINGW32)。试图创建一个主要由 NOP 组成的 Windows PE,ala:

for(i = 0; i < 1000; i++)
{
    asm("nop");
}
Run Code Online (Sandbox Code Playgroud)

但是要么我使用了错误的语法,要么编译器正在通过它们进行优化,因为这些 NOP 无法在编译过程中幸存下来。

我正在使用 -O0 标志,否则为默认值。关于如何诱使编译器保持 NOP 完好无损的任何想法?

assembly gcc nop

3
推荐指数
2
解决办法
1万
查看次数

C#非UI跨线程调用

我正在尝试用C#进行跨线程调用.

每当我从一个从线程B调用的静态方法调用在线程A的上下文中创建的对象的方法时,该方法总是在线程B中运行.我不希望这样,我希望它在与线程相同的线程上运行我正在调用其方法的对象.

Invoke适用于UI调用,我读过很多文章和SO答案,涉及不同的交叉线程Forms/WPF调用方式.无论我尝试什么(事件处理,委托等)线程A的对象的方法将始终在线程B中运行,如果它由线程B调用.

我应该在图书馆的哪个部分来解决这个问题?如果相关,则线程B当前"旋转",从网络端口读取并偶尔通过在线程A中创建并使用ParameterizedThreadStart传入的委托调用线程A的对象方法.

我不打算改变范例,只是从一个线程(线程B)向另一个线程(线程A)发送消息(调用方法的请求).

编辑:

我的问题是"我应该在图书馆的哪个部分来解决这个问题?" 答案似乎是没有.如果我想清楚地描述消费和民意调查,我将不得不编写自己的代码来处理这个问题.

c# multithreading invoke

2
推荐指数
1
解决办法
2748
查看次数

C#2.0双重处理 - 奇怪的行为

Double dblValue = 0.0001;
Boolean a = (dblValue >= (1 / 1000));
Boolean b = (dblValue >= 0.001);
Console.WriteLine("dblValue >= (1 / 1000) is " + a);
Console.WriteLine("dblValue >= 0.001 is " + b);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

上面的C#代码将'a'评估为true,将'b'评估为false.在VB.NET中,等效代码将'a'评估为false,将'b'评估为false.为什么'a'会评价为真?

我在这里缺少一个隐式转换 - 为什么它不影响VB.NET(严格)?

c# double boolean decimal

1
推荐指数
2
解决办法
256
查看次数

字符串生成器做什么?

什么字符串构建器命令在asp.net cs文件中执行.

.net c# asp.net stringbuilder

1
推荐指数
2
解决办法
1744
查看次数