小编use*_*346的帖子

MoveNext而不是实际的方法/任务名称

使用log4net声明为:

private readonly ILog log = 
       LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType());
Run Code Online (Sandbox Code Playgroud)

在异步方法或任务中,如下所示:

public async void CheckSomething()
{
    log.Info(null);
    //....
}
Run Code Online (Sandbox Code Playgroud)

日志MoveNext而不是CheckSomething.知道如何让它记录一个实际的方法名称?

c# log4net methodbase async-await

19
推荐指数
5
解决办法
9796
查看次数

使用File.Encrypt加密文件,然后将其解密为内存流

我需要实现一个简单的文件加密,然后在需要时将其解密到内存流.最简单的方法似乎是使用File.Encrypt执行此操作,但是是否可以将文件解密为内存流,而不是在将文件读取到内存流之前解密文件,从而将文件暴露一段时间?

如果File.Encrypt不是这种情况的最佳方式,你会推荐什么?

c# memory encryption file

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

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

计算要分配的音符混合

我需要找出一种现金混合算法来从ATM分发钞票.该算法的目标是:

  1. 计算纸币组合以向客户分配所需金额.
  2. 在这样做的同时,尽可能均匀地尝试清空现金盒,理想情况(但不是强制性的),现金将同时在所有盒中耗尽.

用户希望获得不同数量的现金,例如500美元,1200美元,6000美元等.没有平均值.该算法需要确定哪些音符以及要分配的音符数量.当然,ATM中的盒式磁带可以改变为不同的值/计数.

另一个限制是ATM当时只能提供30个音符,因此如果计算的音符数量超过此限制,算法必须将音符分成一组,同时考虑上述目标(相等的清空).

这是我想出的:

//Represents a typical cash cassette.
class Cassette
{
   public int Denom { get; set; } //Denomination: (USD)50, (USD)100, etc.
   public int Count { get; set; } //Number of notes.
}

//Our cassettes.
List<Cassette> OriginalCashCassettes = new List<Cassette>();
List<Cassette> CloneCashCassettes = new List<Cassette>();

//Populated.
OriginalCashCassettes.Add(new Cassette { Denom = 50, Count = 1000 });
OriginalCashCassettes.Add(new Cassette { Denom = 100, Count = 1000 });
OriginalCashCassettes.Add(new Cassette { Denom = 200, Count = 1000 …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

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

标签 统计

c# ×3

algorithm ×1

async-await ×1

encryption ×1

file ×1

log4net ×1

memory ×1

methodbase ×1

vb.net ×1