问题列表 - 第4295页

枚举转换的性能

经过一点速度跟踪后,我找到了一段代码(非常经常调用),它将一个枚举的值转换为另一个枚举的值,如下所示:

public Enum2 ConvertToEnum2(Enum1 enum1)
{
   switch(enum1)
   {
      case Enum1.One:
         return Enum2.One;
         break;
      case Enum1.Two:
         return Enum2.Two;
         break;
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我将这些转换保存在字典中并且只执行以下操作,那么我会更高效吗?

public Enum2 ConvertToEnum2(Enum1 enum1)
{
   return m_ConversionTable[enum1];
}
Run Code Online (Sandbox Code Playgroud)

感谢您的意见!

c# performance enums

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

Php By Reference

有人可以解释一下"&"在下面的内容:

class TEST {

}

$abc =& new TEST();
Run Code Online (Sandbox Code Playgroud)

我知道这是参考.但有人可以说明为什么以及何时需要这样的东西?或者将我指向一个可以很好地解释的网址.我无法理解这个概念.

非常感谢你.

php reference

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

SQL通过选择加入几个count(*)组

我有下表包含6/49彩票的中奖号码.

+-----+------------+----+----+----+----+----+----+-------+
|  id | draw       | n1 | n2 | n3 | n4 | n5 | n6 | bonus |
+-----+------------+----+----+----+----+----+----+-------+
|   1 | 1982-06-12 |  3 | 11 | 12 | 14 | 41 | 43 |    13 |
|   2 | 1982-06-19 |  8 | 33 | 36 | 37 | 39 | 41 |     9 |
|   3 | 1982-06-26 |  1 |  6 | 23 | 24 | 27 | 39 |    34 |
| …
Run Code Online (Sandbox Code Playgroud)

sql

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

按字段值的QuerySet

假设我有以下型号:

class Contest:
    title = models.CharField( max_length = 200 )
    description = models.TextField()

class Image:
    title = models.CharField( max_length = 200 )
    description = models.TextField()
    contest = models.ForeignKey( Contest )
    user = models.ForeignKey( User )

    def score( self ):
        return self.vote_set.all().aggregate( models.Sum( 'value' ) )[ 'value__sum' ]

class Vote:
    value = models.SmallIntegerField()
    user = models.ForeignKey( User )
    image = models.ForeignKey( Image )
Run Code Online (Sandbox Code Playgroud)

站点的用户可以将他们的图像贡献给多个竞赛.然后其他用户可以向上或向下投票.

一切正常,但现在我想显示一个页面,用户可以看到对某个比赛的所有贡献.图像应按其分数排序.因此我尝试了以下方法:

Contest.objects.get( pk = id ).image_set.order_by( 'score' )
Run Code Online (Sandbox Code Playgroud)

因为我担心它不起作用,因为'score'没有可用于查询的数据库字段.

python database django

28
推荐指数
2
解决办法
3万
查看次数

你应该在课堂上使用访问者属性,还是只从课堂外使用?

我有一个类'数据',它使用getter访问某些数组.如果数组为null,那么我希望Data访问该文件,填充数组,然后返回特定值.

现在这是我的问题:

在创建getter和setter时,您是否也应该使用相同的访问器属性作为访问该阵列的方式(在本例中)?或者你应该直接访问数组?

我在类中使用访问器的问题是,当调用类在Data.array中查找某些信息时,我得到无限循环,getter发现数组为null,所以从文件中获取它,并且该函数结束再次从Data中调用getter,数组再次为null,我们陷入无限循环.

编辑:

那么对此没有官方立场吗?我看到不使用具有文件访问权限的Accessors的智慧,但是你们中的一些人说要始终在类中使用访问器,而其他人则说从不使用类中的访问器......... ...................................

.net c#

9
推荐指数
2
解决办法
1788
查看次数

C# - 关于类和内存

我是相当新的C#,但我会尽力使这个快!;)

这只是一个理论情况,但想象一下:

I)一个人有一个'ClassA',里面有'ClassB','ClassB'里面有'ClassC'.

II) ClassA有一个被调用的方法.方法本身是(不知道这个名称)用已经存在的classB变量"构造"一个​​新的ClassB.如下:

/*CLASS A*/
ClassA
{
    ClassB classB;

    ClassA()
    {
          classB = new ClassB();
    }

    MethodA()
    {
      classB = new ClassB();
    }
    // Other Methods...

}

/*CLASS B*/
ClassB
{
    ClassC classC;

    ClassB()
    {
        classC = new ClassC();
    }

    // Methods...

}

/*CLASS C*/
ClassC
{
  // Loads of variables being used...
}
Run Code Online (Sandbox Code Playgroud)

所以我想知道的是:

a)使用classB会在内存方面发生什么?堆中的相同空间是用于类还是会分配新空间?如果后者是这种情况,GC会以某种方式释放先前的内存吗?

b)无论上述结果是什么,classC会发生什么,加载变量篡改内存?

我们将非常感谢您直接回答或只是阅读一些简单的链接.我试图找到自己的答案,但似乎没有人解释这种荒谬的(?)情况.

在你开始理论这个问题的起源之前,我已经告诉你了.我确实把自己置于类似的情况中:

  • PrimaryClass
    • 子的Class1
      • 几个班级
    • 子类2
      • 几个班级

所以这个三级应用程序有时会在Sub-Class1和Sub2之间进行更改,它们都控制着"场景".这些"场景"有一些类来帮助管理(通常).这是(我的想法)无法实现的.

问题是Sub-Class1和Sub-Class 2都会占用一些内存并使用一些"资产".因此,我想擦除,是的,你听到了我,将它们从存在中删除,然后在以后再次重新创建它们.我做了一些阅读,但无法提出解决方案.(如上所述,我是C#的新手以及整个托管的.net的事情).关于这方面的任何建议都应该受到赞赏.

好吧,我写了一些比计划更多但是就是这样!期待对此有所了解!:)

问候,罗伯特

c# class

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

有没有办法从C#应用程序调用非托管(而不是COM)的DLL?

有没有办法在我的C#应用​​程序中使用(引用)在非托管C++(不是COM库)中编写的DLL?

当我尝试从Visual Studio中引用它时,我得到'不是COM对象'错误消息.

也许有某种翻译器\路由器可以合并我的DLL参考?我不知道COM和COM互操作是如何工作的,因为我开始编程时这对我来说已经没有必要了.

谢谢.

c# c++ interop unmanaged marshalling

0
推荐指数
2
解决办法
632
查看次数

使用嵌套的母版页

我是ASP.NET的新手,请帮助我更多地了解MasterPages概念.

我有Site.master有常见的标题数据(css,meta等),中心表单(空白)和页脚(版权信息,联系我们链接等).

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="_SiteMaster" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="tagHead" runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" href="styles.css" type="text/css" />
</head>
<body>
    <form id="frmMaster" runat="server">
    <div>
        <asp:ContentPlaceHolder ID="holderForm" runat="server"></asp:ContentPlaceHolder>
        <asp:ContentPlaceHolder ID="holderFooter" runat="server">Some footer here</asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并且我想将项目的第二个母版页用于子目录,该目录将包含用于记录的Page_Load上的SQL查询(整个站点不需要).

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Project.master.cs" Inherits="_ProjectMaster" MasterPageFile="~/Site.master" %>
<asp:Content ContentPlaceHolderID="holderForm" runat="server">
    <asp:ContentPlaceHolder ID="holderForm" runat="server" EnableViewState="true"></asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ContentPlaceHolderID="holderFooter" runat="server">
    <asp:ContentPlaceHolder ID="holderFooter" runat="server" EnableViewState="true"></asp:ContentPlaceHolder>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

但我有一个问题:没有显示页脚.

我的错误在哪里?我是否正确使用第二个母版页作为记录的超级类?

项目页面如下所示:

<%@ Page …
Run Code Online (Sandbox Code Playgroud)

c# asp.net inheritance master-pages nested

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

ASP.NET MVC - 以编程方式添加动作过滤器

我一直在做一些关于动作过滤器的研究,并想知道是否有办法以编程方式将它们添加到控制器?

为了给出一些上下文,我想在web.config中配置日志记录时添加日志记录过滤器,否则我不希望过滤器存在于每个操作方法的执行链中.

我很欣赏我可以检查实际的过滤器代码本身,看看是否已启用日志记录,但不希望必须这样做.

非常感谢!

.net asp.net-mvc

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

什么是最好的:单独的数据库或额外的"代码"表?

我有一个数据库,旨在保存各种交易卡游戏中的卡数据.到目前为止,我一直在跟踪一个纸牌游戏,但我使用的是属性表,因为并非所有属性都适用于每张卡.

我现在正在扩展到多个卡片游戏,并且有大量数据准备好迁移.但是,我不太确定如何导入这些数据.我是否应该将模式克隆到每个纸牌游戏的新数据库中,所以我可以在不同的桶中管理东西?或者我应该简单地添加一个名为"CardGame"的新表,并使用该唯一标识符作为卡的外键,并为其提供一个大型数据库.

如果它对于这个问题很重要,那么这个主数据库将发布到一个网站供用户查询,以及分解为人们可以使用的WinForms应用程序的较小数据模块(每个游戏).

database-design

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