小编Adr*_*zea的帖子

Json.net反序列化null guid案例

我正在使用Json.NET包含Guid类型的私有字段和该字段的公共属性的对象反序列化.当Guid我的json中的值为null时,我想分配Guid.Empty给我的字段.

public class MyClass
{
    private Guid property;
    public Guid Property
    {
        get { return property; }
        set 
        {
            if (value == null)
            {
                property = Guid.Empty;
            }
            else
            {
                property = value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是deserializer想要访问私有字段,导致我在尝试反序列化时遇到此错误:

将值{null}转换为类型'System.Guid'时出错.路径'[0] .property',第6行,第26位.

如何让它忽略私有字段并使用公共属性呢?

c# serialization json json.net

8
推荐指数
1
解决办法
8898
查看次数

批量读取文件内容到变量

我正在尝试将文件的内容读取到批处理脚本变量中。该文件的第一行只有一个GUID。

如果我这样做,type myfile.id它将打印出向导。但是如果我尝试将该值设置为变量

set /p out=<myfile.id
Run Code Online (Sandbox Code Playgroud)

要么

for /f "delims=" %%x in (myfile.id) do set out=%%x
Run Code Online (Sandbox Code Playgroud)

然后当echo %out%我得到  

?a
Run Code Online (Sandbox Code Playgroud)

batch-file

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

在 C# 中使用 Linq 计算评分平均值

我有一个评级数组,其中 ratings[i] = j 表示 i 有 j 个评级,其中 i 介于 1 和 10 之间。如何使用 linq 计算平均评级?

for (int i = 1; i <= 10;i++)
            {
                sum += i * ratings[i];
                nr += ratings[i];
            }
ratingAvg = sum / nr;
Run Code Online (Sandbox Code Playgroud)

如果我使用ratings.Sum() / ratings.Count()它并不能达到我想要的效果。我需要做类似的事情ratings.Sum(w => index_of_w_in_the_array * w.value).

c# linq

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

HMAC sha256在c#中返回不同于python的值

我需要将一些python代码移植到c#中,我在这行中遇到了一些问题:

蟒蛇

hmac.new(key, message,digestmod=hashlib.sha256).digest()
Run Code Online (Sandbox Code Playgroud)

C#

HMACSHA256 hm = new HMACSHA256(key);
byte[] result = hm.ComputeHash(enc.GetBytes(message));
Run Code Online (Sandbox Code Playgroud)

当密钥和消息相同(逐字节检查)时,为什么我在C#中得到不同的结果?

c# python sha256

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

标签 统计

c# ×3

batch-file ×1

json ×1

json.net ×1

linq ×1

python ×1

serialization ×1

sha256 ×1