问题列表 - 第14668页

为什么我们更喜欢?至 ??c#中的运算符?

我最近发现我们可以使用?? 运算符检查空值.请检查以下代码示例:

   var res = data ?? new data();
Run Code Online (Sandbox Code Playgroud)

这与之完全相似

   var res = (data==null) ? new data() : data ;
Run Code Online (Sandbox Code Playgroud)

我检查了我的整个项目源代码库和一些其他开源项目.这个??操作员从未使用过.

我只是想知道这背后有什么理由,比如性能问题还是什么?

编辑:

我刚刚根据recursive和Anton的评论更新了我的示例代码.粗心大意是一个错误.:(

c# conditional-operator

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

为什么我的mod_perl脚本会冻结我的服务器?

我不能让我的Perl脚本在服务器上运行稳定.这是问题所在.

当脚本每秒访问超过5次时,服务器会冻结.一段时间后,服务器永远挂起.SSH没有响应,我必须重新启动服务器.

我正在使用Apache mod_perl.

该脚本托管在Ubuntu下的Virtual Dedicated Server上.我是通过SSH操作的.这些是服务器参数CPU:400 MHz RAM:256 MB

脚本的最大执行时间是200毫秒.

我用"顶部"实用程序监视了服务器负载.它不会显示任何问题,这是每秒加载5个脚本时的CPU统计信息:

Cpu(s): 12.1%us,  0.6%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si, 87.2%st

我有什么选择让脚本无问题地工作?

这是ps aux | fgrep perl加载时的结果:

ps aux | fgrep perl
www-data  2925  0.3  6.5  45520 17064 ?        R    17:00   0:01 /var/www/perl/loa -k start
www-data  2926  0.2  6.5  45520 17068 ?        R    17:00   0:01 /var/www/perl/loa -k start
www-data  2927  0.4  6.5  45676 17060 ?        R    17:00   0:01 /var/www/perl/loa -k start
www-data  2928  0.3  6.5  45676 17060 …

linux apache perl mod-perl virtualhost

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

如何使用非唯一外键强制执行数据库完整性?

我希望有一个数据库表,用于保存包含修订历史记录的数据(如维基百科上的页面).我认为一个好主意是有两列标识行:(name, version).所以样本表看起来像这样:

TABLE PERSONS:
    id:      int,
    name:    varchar(30),
    version: int,
    ... // some data assigned to that person.
Run Code Online (Sandbox Code Playgroud)

因此,如果用户想要更新人员的数据,他们不会进行更新 - 相反,他们会创建具有相同name但不同version值的新PERSONS行.向用户显示的数据(给定的name)是最高的数据version.

我有第二张表,比如说DOGS,它引用了PERSONS表中的人物:

TABLE DOGS:
    id:         int,
    name:       varchar(30),
    owner_name: varchar(30),
    ...
Run Code Online (Sandbox Code Playgroud)

显然,owner_name是一个引用PERSONS.name,但我不能将它声明为外键(在MS SQL Server中),因为PERSONS.name它不是唯一的!

问题:那么,在MS SQL Server 2008中,我应该如何确保数据库完整性(即,对于每个DOG,PERSONS中至少存在一行,使得其PERSON.name == DOG.owner_name)?

我正在寻找最优雅的解决方案 - 我知道我可以在PERSONS表上使用触发器,但这不像我想要的那样具有声明性和优雅性.有任何想法吗?


附加信息

上面的设计具有以下优点:如果我需要,我可以"记住"一个人的当前id(或(name, version)对),并且我确信该行中的数据永远不会被更改.这很重要,例如,如果我把这个人的数据作为随后打印的文档的一部分,并且在5年内有人可能想要打印完全未更改的副本(例如,使用与今天相同的数据),那么这将非常容易为他们做.

也许您可以想到一个完全不同的设计,它可以实现相同的目的,并且可以更容易地实现其完整性(最好使用外键或其他约束)?


编辑:感谢Michael Gattuso的回答,我发现了另一种可以描述这种关系的方式.有两种解决方案,我将其作为答案发布.请投票选择你更喜欢哪一个.

sql sql-server foreign-keys unique

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

Excel - 根据另一个单元格的变化绘制单元格变化的最佳方法

我有一个庞大的excel工作簿,我一直在开发它来对工程项目进行一些成本分析.现在,我有一个单元格,我输入一个储存罐的大小,更新另一个包含总储蓄的单元格.

计算节省的过程非常复杂.我的工作簿中有20张,每年一张,每张都参考了坦克的大小.通常情况下,我会尝试制作两列并拖动公式以节省下来以获得我的x和y值,但我认为我不能这样做,因为储蓄单元依赖于其他20张纸.

我想知道的是:绘制坦克大小与储蓄之间关系的最佳方法是什么.理想情况下,我想说"好的,将这个单元格中的值在0到200万之间以1000为增量进行改变,然后记录每个增量的节省单元的值,然后绘制,"但我似乎无法看到弄清楚如何实现这一目标.

excel

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

这个表单元素叫什么,怎么做

alt text http://img14.imageshack.us/img14/5020/whatbox.png

我不知道这叫什么,但你有2个列表,中间有一个按钮来来回切换选项.

问题[a]这是什么叫做.

问题[b]你如何制作一个.

html javascript

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

Eclipse Mylin如何有用?

在我的Eclipse Preferences -> Java -> Editor -> Content Assist -> Advanced设置中,我看到以下内容:

  • Java非类型提案
  • Java提案
  • Java提案(以任务为中心)
  • Java类型提案
  • JPA提案(对我来说总是空的)
  • PDE API工具建议(在内容辅助循环设置中选中时跳过)
  • SWT模板建议(总是空的)
  • 模板建议(总是空的)
  • Word Proposals (在Content-Assist Cycling设置中选中时跳过)

我尝试使用谷歌搜索(单独)"Java非类型提案"和"Java提案(以任务为中心)",但没有找到任何描述它们.

匹配的条目/Java ((Non-)?Type)? Proposals/对我有意义,但其他条目没有.

那么,其他人做了什么?

  • 我从未见过PDE,SWT,模板或Word提案的结果.它们什么时候有用?
  • 我也从未真正开始使用Mylyn,我想这是提供"Java Proposals(以任务为中心)".如果我没有使用Mylyn理解的错误跟踪器,那会给我带来什么呢?

java eclipse content-assist

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

没有.在SQL Server 2005中运行select查询后受影响的行数

以下是我的查询

select    
@monNameStr as [MName],             
IsNull(count(c.AssignmentID),0),                
IsNull(sum(s.ACV),0),               
IsNull(sum(s.GrossReturn),0),               
IsNull(sum(s.NetReturn),0),             
IsNull(avg(a.Total),0)          
FROM

dbo.Assignment_ClaimInfo c,             
dbo.Assignment_SettlementInfo s,                
dbo.Assignment_AdvCharges a         

Where
c.Assignmentid=s.Assignmentid and               
s.Assignmentid=a.Assignmentid and               
a.Assignmentid in                   

(select AssignmentID from dbo.Assignment_ClaimInfo                  
where (upper(InsuranceComp)=upper(@CompName) or upper(@CompName)='ALL COMPANIES') 
and (DateName(month,DATEADD(month, 0, DOFileClosed))+' '
+cast(year(DATEADD(month, 0, DOFileClosed)) as varchar)=@monNameStr))
Group By c.InsuranceComp
Order By c.InsuranceComp

where @monNameStr is calculated date field like 'October 2009'
Run Code Online (Sandbox Code Playgroud)

我需要知道的是什么.受此选择查询影响的记录数.

我不需要用COUNT()功能来查询这个查询到另一个查询.

非常感谢您的宝贵帮助.

sql-server select

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

UTF-8"可变宽度编码"如何工作?

unicode标准中有足够的代码点,你需要4个字节来存储它们.这就是UTF-32编码所做的.然而,UTF-8编码通过使用称为"可变宽度编码"的东西以某种方式将这些压缩到更小的空间.

实际上,它设法在一个字节中代表US-ASCII的前127个字符,它看起来与真正的ASCII完全相同,因此您可以将许多ascii文本解释为UTF-8而不对其执行任何操作.干净的把戏.那么它是怎样工作的?

我将在这里提出并回答我自己的问题,因为我只是做了一些阅读以弄清楚它并且我认为它可能会节省其他人一些时间.如果我有一些错误,也许有人可以纠正我.

unicode utf-8 character-encoding multibyte

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

Ruby中两个数组的组合

Ruby的实现方式是什么?

a = [1,2]
b = [3,4]
Run Code Online (Sandbox Code Playgroud)

我想要一个数组:

=> [f(1,3) ,f(1,4) , f(2,3) ,f(2,4)]
Run Code Online (Sandbox Code Playgroud)

ruby combinations

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

GWT removeClickHandler

GWT引入了1.6版处理程序而不是监听程序.现在我习惯于添加和删除那些侦听器以实现某些行为.

但随着我使用处理程序,我想念删除方法.像clickClickHandler一样用于click事件.

有办法做到这一点,还是我错过了什么?

gwt

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