相关疑难解决方法(0)

数组vs.list性能问题

可能重复:
阵列与列表的性能

我想知道哪一个是更好的方法来完成这项任务.

string[] week = new string[7]
  week[0] = "Sunday";
  week[1] = "Monday";
  week[2] = "Tuesday";

  foreach (string day in week)
   {
     //Some task
   }
Run Code Online (Sandbox Code Playgroud)


List<string> week = new List<string>();
 list.Add("Sunday");
 list.Add("Monday");
 list.Add("Tuesday");

 foreach (string day in list) 
 {
    //Some Task
 }
Run Code Online (Sandbox Code Playgroud)

是否有任何性能问题?或任何其他更好的方法.谢谢.

c# asp.net

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

更优雅的方式来增加一个int-array?

我有一个具有多个值的int数组.我必须向该数组添加一个元素.我会这样解决:

int[] myIntArray=SomeMagicThere();

List<int> intList= myIntArray.ToList();
intList.Add(88);
myIntArray= intList.ToArray();
Run Code Online (Sandbox Code Playgroud)

(这很简单,我有理由不能改变myIntArray的类型)

你会以另一种方式解决它吗?做两个演员阵容感觉有点"脏"

c# arrays list

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

c#Paradox:将列表转换为数组更有效率吗?

列表基准:大小= 1000,运行= 50000,总时间= 19.5秒

var list = new List<string>(Size);
for (int i = 0; i < Size; i++) list.Add(i.ToString());

var b = new Benchmark();
b.Test("TestListIteration", () =>
{
   c = 0;
   for (int i = 0; i < Runs; i++)
   {
      for (int j = 0; j < Size; j++)
      {
          c += list[j].Length;
      }
   }
});
Run Code Online (Sandbox Code Playgroud)

列表到数组基准:大小= 1000,运行= 50000,总时间= 15.449

var list = new List<string>(Size);
for (int i = 0; i < Size; i++) list.Add(i.ToString());

var b = new …
Run Code Online (Sandbox Code Playgroud)

c# arrays performance

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

在for循环语句中创建动态属性名称

我想在for语句中创建名为"Item"的类的新实例,但我不知道如何动态地给出名称.

for (i=0; i < Counter; i++)
{
    MyClass "XXXX" = Class.method();
}
Run Code Online (Sandbox Code Playgroud)

如何创建2个字符串并给出名称?-例如-

for(i=0;i<2;i++){
  string name + i = "Hello" 
}
Run Code Online (Sandbox Code Playgroud)

EDITED

我有一些建议来达到我的解决方案,我可以创建一个字典.

       var bomItems = new Dictionary<Item, Item>();

       for (int i = 0; i < Count; i++)
       {
           Item bomItem = inn.newItem("Part BOM","add");
           bomItems.Add(bomItem + i, bomItem);
       }
Run Code Online (Sandbox Code Playgroud)

但我在"bomItem + i"中得到了一个合理的错误.我不能应用操作数'+'.明显.

有没有人对此有任何答案?

谢谢.

.net c# string for-loop

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

.cs文件中大型硬编码数组的性能注意事项

我正在写一些性能很重要的代码.在其中的一部分中,我必须将大量预先计算的数据与动态值进行比较.目前,我将预先计算的数据存储在.cs文件中的巨型数组中:

Data[] data = { /* my data  set */ };
Run Code Online (Sandbox Code Playgroud)

数据集大约为90kb,或大约13k个元素.我想知道这样做是否有任何缺点,而不是从外部文件中加载它?我不完全确定C#是如何在内部工作的,所以我只是想知道我可能遇到的任何性能问题.

.net c# arrays optimization performance

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

为什么性能测试显示列表比我的代码中的数组快得多?

LIST FOR      00:00:00.0000980
LIST FOREACH  00:00:00.0000007
ARRAY FOR     00:00:00.0028450
ARRAY FOREACH 00:00:00.0051233
Run Code Online (Sandbox Code Playgroud)

我一直用数组来制作性能较重的东西,但列表似乎要快得多。

using System;
using System.Diagnostics;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        var cron = NCrontab.Advanced.CrontabSchedule.Parse("0 0 1 1 * 2016",
            NCrontab.Advanced.Enumerations.CronStringFormat.WithYears);
        var date = new System.DateTime(year: 2016, month: 1, day: 1,
            hour: 0, minute: 0, second: 0);
        
        int[] testArray = new int[1000000];
        List<int> testList = new List<int>(1000000);
        
        var stopWatch = new Stopwatch();
        stopWatch.Start();
        for (int i = 0; i < testList.Count;i++)
        {
            var …
Run Code Online (Sandbox Code Playgroud)

.net c# arrays performance list

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

标签 统计

c# ×6

arrays ×4

.net ×3

performance ×3

list ×2

asp.net ×1

for-loop ×1

optimization ×1

string ×1