小编Sam*_*ami的帖子

通过多线程下载文件

我想下载一个具有 6 个线程的文件以加快进程,因此这是计算每个线程的文件大小的部分代码:

string url = "http://somefile.mp3";
List<FileDownloader> filewonloadersList = new List<FileDownloader>();
System.Net.WebRequest req = System.Net.HttpWebRequest.Create(url);
var response = req.GetResponse();
req.Method = "HEAD";
System.Net.WebResponse resp = req.GetResponse();
int responseLength = int.Parse(resp.Headers.Get("Content-Length"));
int parts = 6;
var eachSize = responseLength / parts;
var lastPartSize = eachSize + (responseLength % parts);
for (int i = 0; i < parts - 1; i++)
{
    filewonloadersList.Add(new FileDownloader(url, i * eachSize, eachSize));
}
filewonloadersList.Add(new FileDownloader(url, (parts - 1) * eachSize, lastPartSize));
var threads = new …
Run Code Online (Sandbox Code Playgroud)

c# multithreading download

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

将canvas元素设置为div元素的背景

我们可以使用画布绘制自定义形状.我需要动态绘制我的形状作为画布项目并将其放置为div背景项目.我的页面生成运行时间,它们不是静态的html代码,所以我不能使用棘手的方法.你有什么想法?

问候

html css html5

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

通过特定的where子句在C#中创建泛型方法

我想创建一些通用方法,如下面的代码:

public async Task<T> Get<T>(string url) where T : IBaseModel, IList<IBaseModel>
Run Code Online (Sandbox Code Playgroud)

显然我想支持可枚举的集合以及从IBaseModel界面驱动的单个对象.方法定义没问题,但是当涉及到它的用法时,我会得到以下错误:

await myClass.Get<List<DrivedClassFromBaseModel>>("some url");

There is no implicit conversion from "System.Collection.Generic.List<DrivedClassFromBaseModel> to System.Collection.Generic.IList<IBaseModel>"
Run Code Online (Sandbox Code Playgroud)

.net c# generics generic-collections generic-constraints

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

设置显示的div元素的中心位置:inline-block

我知道当我们为具有指定宽度的html块元素的左右边距设置自动值时,该元素具有中心位置.但是,如果我想包装自动尺寸取决于内容,我设置display : inline-block,但中心位置现在不工作...

我该怎么办 ?提前致谢.

html css

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

string.Concat,Mutable还是Immutable?

我知道字符串在C#中是不可变的,除非使用了StringBuilder类.情况是,我有一个ObjectResult(实现IEnumerable)的字符串,我想将它转换为一个单独的字符串对象.这里有两个选项:

  1. 使用string.Concat

    var myDesiredData = string.Concat(TheObjectResult)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用StringBuilder

    var sb = new StringBuiler();
    foreach (var item in TheObjectResult)
    {
      sb.Append(item);
    }
    var myDesiredData = sb.ToString();
    
    Run Code Online (Sandbox Code Playgroud)

我不确定第一种选择是如何工作的.

c#

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