小编cas*_*One的帖子

在泛型方法中检查null的非类约束类型参数的实例

我目前有一个通用的方法,我想在它们之前对参数进行一些验证.具体来说,如果type参数的实例T是引用类型,我想检查它是否是null,ArgumentNullException如果它为null则抛出它.

有点像:

// This can be a method on a generic class, it does not matter.
public void DoSomething<T>(T instance)
{
    if (instance == null) throw new ArgumentNullException("instance");
Run Code Online (Sandbox Code Playgroud)

请注意,我不希望使用来约束我喜欢的类型参数class的约束.

我以为我可以用马克Gravell的答案"我怎么比一般类型为默认值?" ,并像这样使用EqualityComparer<T>:

static void DoSomething<T>(T instance)
{
    if (EqualityComparer<T>.Default.Equals(instance, null))
        throw new ArgumentNullException("instance");
Run Code Online (Sandbox Code Playgroud)

但它在调用时给出了一个非常模糊的错误Equals:

无法使用实例引用访问成员'object.Equals(object,object)'; 用类型名称来限定它

如何在不限制为值或引用类型的情况下检查T反对的实例?nullT

.net c# null iequalitycomparer equals-operator

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

有没有办法在C#中找到字符串是一个数字(int,long,float或double)?

是否有C#类似于Numberformat类的类Java,验证字符串是否为数字.

NumberFormat numberFormat = NumberFormat.getInstance();
Number number = numberFormat.parse(string);
Run Code Online (Sandbox Code Playgroud)

尝试浮点时使用以下参数float.TryParse(value,NumberStyles.Float,CultureInfo.InvariantCulture,out fValue),

值= 6666.77777舍入为6666.778.

任何人都可以帮助,我不希望我的价值被四舍五入.

c#

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

Qt - 如何从64开始设置QTableWidget行索引而不是从0开始?

我有128个项目的结构向量.我应该将前64个项目放在第一个QTableWidget中,剩余的64个项目放到第二个QTableWidget中.必须在我的结构向量中显示"索引"数字.那些是Id号码.我使用UI设计器设计了我的ui,我尝试在那里更改QTableWidget第一行号,但它没有用.如何初始化索引以0开头的第一个tablewidget以及索引从64开始的第二个tablewidget.请帮助guyz ...在此先感谢.


请帮我解决这个问题.

我将使用快照图像清楚地解释它.!这里我有2个QTableWidgets.每个表窗口小部件的行ID都为1.第二个小部件的行ID 不应该与1.相反,它必须是65.(因为我有128个项目,前64个项目进入第一个表格,其余64个项目应放在第二个表格中).希望大家都明白我的要求.请帮我.在此输入图像描述

qt4 qtablewidget qt4.7 qt4.8 qmodelindex

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

是真的printf将前两个赋值作为输入

我在某处读到printf获取程序前两个赋值的值.可以给出任意数量的printf.所有这些都只采用前两个值.如果在程序中给出更多的赋值,那么printf将获取垃圾值.

我不这么认为,但它是在很多网站上提出的,所以只需要确认一下

例如,如果您进行简单的Google搜索,"printf takes first two assignment as input"那么有些网站会提供样本面试问题/答案,例如:

预测以下输出或错误:

main()
{
    int i=400,j=300;
    printf("%d..%d");
}
Run Code Online (Sandbox Code Playgroud)

答案:400..300

说明:printf获取程序前两个赋值的值.可以给出任意数量的printf.

所有这些都只采用前两个值.如果在程序中给出更多的赋值,那么printf将获取垃圾值.

这是正确的真实行为吗?还是依赖于实现?

你可以找到这样的问答地点:
这个拼图网站
这个面试问题文档

c

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

日期比较Iphone

我有一系列的每周日期,例如

1-5-2010至7-5-2010

我想要两个日期之间的唯一记录如何比较日期?

如何从当前日期获得当前的周日...?

thnx提前..


//alert handler

#import <Foundation/Foundation.h>


@interface AlertHandler : NSObject {

}
+(void)showAlertForProcess;
+(void)hideAlert;
@end



#import "AlertHandler.h"


@implementation AlertHandler
UIAlertView *av;
UIActivityIndicatorView *actInd;

+(void)showAlertForProcess{
    if(av!=nil && [av retainCount]>0){ [av release]; av=nil; }
    if(actInd!=nil && [actInd retainCount]>0){ [actInd removeFromSuperview];[actInd release]; actInd=nil; } 
    av=[[UIAlertView alloc] initWithTitle:@"Loading" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
    actInd=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    [actInd setFrame:CGRectMake(120, 50, 37, 37)];
    [actInd startAnimating];
    [av addSubview:actInd];
    [av show];
}
+(void)hideAlert{
    [av dismissWithClickedButtonIndex:0 animated:YES];
    if(av!=nil && [av retainCount]>0){ [av release]; av=nil; }
    if(actInd!=nil && …
Run Code Online (Sandbox Code Playgroud)

iphone

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

防止firebug操纵DOM

有没有办法阻止程序,Firebug操纵页面的DOM.

我注意到您可以删除其他公司支付的广告等内容.

有没有办法让页面停止它?

firebug dom dom-manipulation

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

Excel中当前单元格的变量是什么?

当前单元格的变量是多少?我有这个:

=PRODUCT(B3,B45)
Run Code Online (Sandbox Code Playgroud)

我希望B3成为当前的细胞.现在的问题是,当我拖动单元格时,它保持为B3.我相信这很容易解决.这是我第一次使用Excel.

excel cell

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

Java双神秘舍入

我有这个代码:

package picalculator;

//import java.util.Scanner;

public class PiCalculator {

static int odd=1;

public static void main(String[] args) {

    calculatePi();

}
public static void calculatePi() {
    int counter=0;
    double pi=4.0;

    int num[];

    num = new int[20];

    num[0] = generateOdd();
    num[1] = generateOdd();
    num[2] = generateOdd();
    num[3] = generateOdd();
    num[4] = generateOdd();
    num[5] = generateOdd();
    num[6] = generateOdd();
    num[7] = generateOdd();
    num[8] = generateOdd();
    num[9] = generateOdd();
    num[10] = generateOdd();
    num[11] = generateOdd();
    num[12] = generateOdd();
    num[13] = generateOdd();
    num[14] = generateOdd(); …
Run Code Online (Sandbox Code Playgroud)

java double integer rounding

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

卸载外部进程的加载dll

有人知道如何卸载由外部进程加载的DLL或任何其他类型的模块吗?

我试着做GetModuleHandle,然后FreeLibrary没有结果......

谢谢你的回复

谢谢你的回复.我在这里发现了一篇有趣的msdn文章:

http://blogs.msdn.com/b/jmstall/archive/2006/09/28/managed-create-remote-thread.aspx

问题是,当我尝试执行OpenProcess时,外部进程崩溃.

从中卸载模块的最小进程访问权限是什么?

这是我在c#中尝试做的:[code] protected const int PROCESS_ALL_ACCESS =(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF); protected const int STANDARD_RIGHTS_REQUIRED = 0xF0000; protected const int SYNCHRONIZE = 0x100000;

    public static bool UnloadRemoteModule(FileEntry le)
    {
        try
        {
            Process process = System.Diagnostics.Process.GetProcessById(le.ProcessID);

            if (process == null) return false;
            StringBuilder sb = new StringBuilder(le.File);

            UnloadModuleThreadProc umproc = new UnloadModuleThreadProc(UnloadModule);
            IntPtr fpProc = Marshal.GetFunctionPointerForDelegate(umproc);               

            SafeProcessHandle processHandle = null;

            IntPtr currentProcess = NativeMethods.GetCurrentProcess();
            int processId = le.ProcessID;
            bool remote = …
Run Code Online (Sandbox Code Playgroud)

c# winapi visual-c++

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

PHP中__construct()和__destruct()的有趣行为

我测试的一类,而开发我的应用程序,就像任何其他快速懒法-TWEAK我做了一个echo

function __construct(){
   parent::__construct();
   echo "yaba daba doo"; 
   exit();
}
Run Code Online (Sandbox Code Playgroud)

现在,在几次测试之后,我想到了检查类是否已完全编译,因此我写道:

function __destruct(){
   echo "ends here"; 
   exit();
}
Run Code Online (Sandbox Code Playgroud)

有趣的是,即使有一个exitin __construct,它仍然执行__destruct!

根据我的知识退出'杀死'过程,不是吗?

__destruct 当对象没有更多类的引用时调用.

这是否意味着,exit(0)不会优先杀死进程?

这是一个PHP错误吗?因为,IMO脚本不应该再进一步了?

php

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