小编Mam*_*ate的帖子

需要帮助进行搜索优化

我对编程很新,我需要一些优化方面的帮助.基本上我的方法的一部分做:

for(int i = 0; i < Tiles.Length; i++)
{
    x = Tiles[i].WorldPosition.x;
    y = Tiles[i].WorldPosition.y;
    z = Tiles[i].WorldPosition.z;

    Tile topsearch = Array.Find(Tiles,
        search => search.WorldPosition == Tiles[i].WorldPosition +
            new Vector3Int(0,1,0));

    if(topsearch.isEmpty)
    {
        // DoMyThing
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一个比当前Tile高1个单位的瓷砖.我的问题是,对于整个方法,它需要0.1秒,这导致一个小的hick up .. Array.Find没有方法是0.01秒.

我也尝试了一个for循环,但仍然不是很好的结果,因为我还需要3个底部,左侧和右侧的检查.

有人可以帮助我,并指出我获得一些快速结果的方法吗?也许我应该选择像线程一样的东西?

c# optimization

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

字典 - 使用类型作为键并将其约束为仅限于某些类型

如果我们使用Type作为字典的键,是否可以将该类型仅限制为特定类型?例如:

public abstract class Base
{ }

public class InheritedObject1 : Base
{ }

public class InheritedObject2 : Base
{ }

public class Program
{
    public Dictionary<Type, string> myDictionary = new Dictionary<Type, string>();
}
Run Code Online (Sandbox Code Playgroud)

因此,从上面给出的代码中我想将Type仅限制为:Base和从中继承的每个类.有可能做出这样的约束吗?

c# generics dictionary

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

从FieldInfo获取对象实例

所以我的问题是:我有一个只由FieldInfo表示的对象实例.我没有其他访问该对象的权限.是否可以仅通过字段信息获取该对象实例?

MyObject myObject = fieldInfo.SomeMethodOrProperty as MyObject; 
Run Code Online (Sandbox Code Playgroud)

这只是一个例子,但我认为你得到的图片.

c# reflection

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

创建实现给定接口的对象的实例

我试图用Activator.CreateInstance()构建一个对象,但是我收到的是因为某些未知的原因.

public class SpawnManager
{

    public void CreateSpawnable<T>()
    {
        Type type = typeof(T);

        ISpawnable<SpawnableParameters> spawnable = Activator.CreateInstance(type) as ISpawnable<SpawnableParameters>;

        // the spawnable object always returns null
    }

    public void Start()
    {
        CreateSpawnable<SpawnableCollectible>();
    }

}


public class SpawnableCollectible : ISpawnable<ParametersCollectible>
{

    public void Spawn(ParametersCollectible parameters)
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么我不能创建一个实现给定接口的对象实例,并编写正确的方法来实例化这样的对象吗?

c# generics

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

标签 统计

c# ×4

generics ×2

dictionary ×1

optimization ×1

reflection ×1