经过一点速度跟踪后,我找到了一段代码(非常经常调用),它将一个枚举的值转换为另一个枚举的值,如下所示:
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)
感谢您的意见!
有人可以解释一下"&"在下面的内容:
class TEST {
}
$abc =& new TEST();
Run Code Online (Sandbox Code Playgroud)
我知道这是参考.但有人可以说明为什么以及何时需要这样的东西?或者将我指向一个可以很好地解释的网址.我无法理解这个概念.
非常感谢你.
我有下表包含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) 假设我有以下型号:
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'没有可用于查询的数据库字段.
我有一个类'数据',它使用getter访问某些数组.如果数组为null,那么我希望Data访问该文件,填充数组,然后返回特定值.
现在这是我的问题:
在创建getter和setter时,您是否也应该使用相同的访问器属性作为访问该阵列的方式(在本例中)?或者你应该直接访问数组?
我在类中使用访问器的问题是,当调用类在Data.array中查找某些信息时,我得到无限循环,getter发现数组为null,所以从文件中获取它,并且该函数结束再次从Data中调用getter,数组再次为null,我们陷入无限循环.
编辑:
那么对此没有官方立场吗?我看到不使用具有文件访问权限的Accessors的智慧,但是你们中的一些人说要始终在类中使用访问器,而其他人则说从不使用类中的访问器......... ...................................
我是相当新的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会发生什么,加载变量篡改内存?
我们将非常感谢您直接回答或只是阅读一些简单的链接.我试图找到自己的答案,但似乎没有人解释这种荒谬的(?)情况.
在你开始理论这个问题的起源之前,我已经告诉你了.我确实把自己置于类似的情况中:
所以这个三级应用程序有时会在Sub-Class1和Sub2之间进行更改,它们都控制着"场景".这些"场景"有一些类来帮助管理(通常).这是(我的想法)无法实现的.
问题是Sub-Class1和Sub-Class 2都会占用一些内存并使用一些"资产".因此,我想擦除,是的,你听到了我,将它们从存在中删除,然后在以后再次重新创建它们.我做了一些阅读,但无法提出解决方案.(如上所述,我是C#的新手以及整个托管的.net的事情).关于这方面的任何建议都应该受到赞赏.
好吧,我写了一些比计划更多但是就是这样!期待对此有所了解!:)
问候,罗伯特
有没有办法在我的C#应用程序中使用(引用)在非托管C++(不是COM库)中编写的DLL?
当我尝试从Visual Studio中引用它时,我得到'不是COM对象'错误消息.
也许有某种翻译器\路由器可以合并我的DLL参考?我不知道COM和COM互操作是如何工作的,因为我开始编程时这对我来说已经没有必要了.
谢谢.
我是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) 我一直在做一些关于动作过滤器的研究,并想知道是否有办法以编程方式将它们添加到控制器?
为了给出一些上下文,我想在web.config中配置日志记录时添加日志记录过滤器,否则我不希望过滤器存在于每个操作方法的执行链中.
我很欣赏我可以检查实际的过滤器代码本身,看看是否已启用日志记录,但不希望必须这样做.
非常感谢!
我有一个数据库,旨在保存各种交易卡游戏中的卡数据.到目前为止,我一直在跟踪一个纸牌游戏,但我使用的是属性表,因为并非所有属性都适用于每张卡.
我现在正在扩展到多个卡片游戏,并且有大量数据准备好迁移.但是,我不太确定如何导入这些数据.我是否应该将模式克隆到每个纸牌游戏的新数据库中,所以我可以在不同的桶中管理东西?或者我应该简单地添加一个名为"CardGame"的新表,并使用该唯一标识符作为卡的外键,并为其提供一个大型数据库.
如果它对于这个问题很重要,那么这个主数据库将发布到一个网站供用户查询,以及分解为人们可以使用的WinForms应用程序的较小数据模块(每个游戏).
c# ×5
.net ×2
asp.net ×1
asp.net-mvc ×1
c++ ×1
class ×1
database ×1
django ×1
enums ×1
inheritance ×1
interop ×1
marshalling ×1
master-pages ×1
nested ×1
performance ×1
php ×1
python ×1
reference ×1
sql ×1
unmanaged ×1