Tag:

C#收益率回报表现

使用yield return语法的方法后面的底层集合保留了多少空间当我在其上执行ToList()时? 如果我创建一个具有预定义容量的列表的标准方法,它有可能重新分配并因此降低性能吗? 这两种情况: public IEnumerable GetList1() { foreach( var item in collection ) yield return item.Property; } public IEnumerable GetList2() { List outputList = new List( collection.Count() ); foreach( var item in collection ) outputList.Add( item.Property ); return outputList; }

计算使用套接字发送文件的每秒速度和剩余时间tcp c#

如何计算每秒的速度和以秒为单位的剩余时间? 我试过用: void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { long prevSum = 0; while (fileTransfer.busy) { rate = (fileTransfer.sum – prevSum); RateLabel(rate); //converting prevSum to (int)KB/SEC if (rate != 0) left = (fileTransfer.fileSize – fileTransfer.sum) / rate; TimeSpan t = TimeSpan.FromSeconds(left); timeLeftLabel(FormatRemainingText(rate, t)); //show how much left prevSum = fileTransfer.sum; Thread.Sleep(1000); } } 但是剩下的速度和时间会持续上升和下降(30MB /秒,然后是5MB /秒)。 […]