C# 优化:局部变量还是全局变量?

C# 优化:局部变量还是全局变量?,c#,linq,silverlight,optimization,C#,Linq,Silverlight,Optimization,我正在开发一个silverlight应用程序(C#),其中我使用一个自定义控件Square和以下全局变量 Square[,] arrSquare = new Square[customRows,customColumns] List<Square> lstSelection; List<Square> lstEditable; List<Square> lstSetSquares; List<Square> lstCancelled; Squar

我正在开发一个silverlight应用程序(C#),其中我使用一个自定义控件
Square
和以下全局变量

Square[,] arrSquare = new Square[customRows,customColumns]
List<Square> lstSelection;
List<Square> lstEditable;
List<Square> lstSetSquares;
List<Square> lstCancelled;
Square[,]arrSquare=新的Square[自定义行,自定义列]
列表选择;
可编辑列表;
列明固定方格;
取消名单;
这些列表多次用于更新目的。 只有当我必须更新上述隔离列表时,
arrSquare
才会出现在图片中

我有两个选择:

  • 遵循我当前的体系结构,拥有全局变量,不经常使用我的主数组
    arrSquare

  • 在方法中使用
    LINQ
    (在
    arrSquare
    上转换为本地声明的
    List
    s),以便在方法完成时销毁本地对象

  • 如果有更好的办法,请建议。
    请注意,我将要处理的数据将是巨大的。

    问题不应该是全局变量和局部变量,而应该用“保存计算的缓存副本还是根据需要在现场生成它们更好?”


    由于您的数据集将是巨大的,那么显然,按需执行所有计算是不可能的,所以这个问题很容易回答。

    谢谢您缩小我的观点……是的,谢谢您的措辞。我仍将查看其他选项;如果有优化的余地,我会去做。谢谢