问题列表 - 第6852页

左位移255(作为一个字节)

任何人都可以解释为什么以下不编译?

byte b = 255 << 1
Run Code Online (Sandbox Code Playgroud)

错误:

常量值'510'无法转换为'字节'

我期待二进制中的以下内容:

1111 1110
Run Code Online (Sandbox Code Playgroud)

类型转换困扰了我.

c# bit-manipulation bit-shift

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

带有Generics的C#:'default'关键字

我编写了以下方法来从Serializable类(POCO)列表中返回一个Unserializable类(LINQ类)列表:

List<UnSerializableEntity> ToListOfUnserializables(List<SerializableEntity> entityList)
{
    var tempList = new List<UnSerializableEntity>();
    entityList.ForEach(e =>
    {
        if (e != null)
        {
            tempList.Add(ConvertFromSerializableToUnserializable(e));
         }
     });
     return tempList;
}
Run Code Online (Sandbox Code Playgroud)

现在,Resharper已经"抱怨"了这一行:if (e != null)并建议将其更改为:

if (!Equals(e, default(SerializableEntity))) 
Run Code Online (Sandbox Code Playgroud)

我的问题是这种变化实际上有哪些改善或阻止发生? 我知道这个上下文中的默认关键字必须与泛型有关,但我不确定它的确切含义.

PS.UnSerializableEntity并且SerializableEntity是类泛型.

c# generics resharper

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

NSPopUpButton,Bindings和缩短寿命

我试图弄清楚使用NSPopUpButton是多么困难.它是迄今为止在Cocoa中编程最困难的用户元素(至少就我所发现的而言).

我想到的用例如下:

  • 我有一个名为Port的类,代表一个串口.
  • 其中的属性是名称字段.
  • 在NSPopUpButton中,我想显示每个端口的名称字段.
  • 当用户选择特定端口时,它会在弹出窗口中标记为预期的勾选
  • 当用户随后点击连接按钮时,我可以确定选择了阵列中的哪个端口.
  • 我想用绑定来实现这一点,因为我认为一旦我了解它,它将是更优雅的解决方案.

因此,在我的AppController.h中,我期待两个属性,我可以将其创建为属性和合成:

NSMutableArray *allPorts;
Port *currentlySelectedPort;
Run Code Online (Sandbox Code Playgroud)

在我的.m中有一个动作:

-(void)didSelectConnect:(id)sender{
    NSLog(@"Selected port name is:%@",[currentlySelectedPort name]);
}
Run Code Online (Sandbox Code Playgroud)

在Port.h我有

NSString *name;
NSString *baudRate;
... etc ...
Run Code Online (Sandbox Code Playgroud)

我创建了一个简单的项目,其中只包含一个弹出窗口(和一个标签),并且在各种文章之后,我已经设法用元素填充NSMutableArray,然后我使用ArrayController来显示值,然后在选择上设置标签的值(使用对象控制器).但是,尽管这很聪明,但它不适合我试图实现的用例.所以我转到这里寻求帮助

中号

macos cocoa objective-c

7
推荐指数
2
解决办法
3785
查看次数

如何判断ASP中的页面是否为SSL?

如何在"经典"ASP中判断页面是否为SSL?不能使用javascript,因为我输出的是"noscript"标签的结果.:d

无法在IIS中更改或修改 - 必须在脚本文件本身.

例如 https://foobar/something.asp - >应该说YES http://foobar/something.asp - >应该说NO

ssl asp-classic

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

如何映射Meta键来控制vim中的键?

如何映射我的Windows键(在Ubuntu中定义为Meta_L键),以便它也可以作为Vim中的Ctrl+ L键?在某些情况下,这对我来说是一个更舒适的映射.

vim

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

C++函数接受指针和引用

我正在用C++编写一个库,并且有一些与模块一起工作的函数.一个例子看起来像这样:

void connect(Module *a, Module *b);
Run Code Online (Sandbox Code Playgroud)

问题是,如果函数接受也引用它有时会很方便(一些模块可能在堆栈上分配,一些模块在堆上,所有的&s和*s很快就会变得无聊和混乱).

现在我有内联函数,它接受引用,将它们转换为指针并调用原始函数.

inline void connect(Module &a, Module &b){
    connect(&a, &b);
}
Run Code Online (Sandbox Code Playgroud)

我不太喜欢这个解决方案,因为对于更多的函数,它会编写很多代码来编写,读取,编译,...

另一件正在考虑的事情就是增加Module::operator Module *()必须返回的东西this.

你对此有何看法?我错过了没有任何史诗般失败的可能吗?

谢谢.

c++ pointers overloading reference

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

如何将函数返回值从引用转换为数组?

我在Perl中有这个代码:

sub f {
    return [1,2,3]
}

print f;
Run Code Online (Sandbox Code Playgroud)

该函数f返回对数组的引用,如何在没有附加变量的情况下将返回值转换为数组,就像这里一样?

sub f {
    return [1,2,3]
}

$a = f;
print @$a;
Run Code Online (Sandbox Code Playgroud)

arrays perl reference

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

如何为PostSharp属性添加参数?

我有一个简单的PostSharp日志记录属性:

[Serializable]
public class MethodLoggingAttribute : OnMethodBoundaryAspect
{
    private ILog _logger;
    public override void OnEntry(MethodExecutionEventArgs eventArgs)
    {
        _logger = LogManager.GetLogger(eventArgs.Method.DeclaringType.ToString());
        _logger.DebugFormat("Entered {0}", eventArgs.Method.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想通过向日志条目添加有关方法参数的信息来使此属性更加灵活,但仅在需要时才这样做.

[Serializable]
public class MethodLoggingAttribute : OnMethodBoundaryAspect
{
    private ILog _logger;
    public override void OnEntry(MethodExecutionEventArgs eventArgs)
    {
        _logger = LogManager.GetLogger(eventArgs.Method.DeclaringType.ToString());

        // if ShowParameters = true
        _logger.DebugFormat("Entered {0} with args:{1}", eventArgs.Method.Name, args);
        // else
        _logger.DebugFormat("Entered {0}", eventArgs.Method.Name);
        // endif
    }
}
Run Code Online (Sandbox Code Playgroud)

带有IF的伪代码是我不知道该怎么做的.如何将其传递给属性?我希望它看起来像这样,但我不知道如何在属性代码中处理它:

[MethodLogging(ShowParameters=true)]
public void SomeCrazyMethod(int CustomerId, string SecretName) {...}
Run Code Online (Sandbox Code Playgroud)

c# postsharp

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

SQLite优化多选插入

我已经使用SQL多年了,但很少有更简单的插入和选择等...所以我不是SQL专家.我想知道我是否可以帮助优化我在SQLite上执行的更复杂的SQL语句,从PHP到PDO.

声明似乎工作正常,似乎需要更长的时间,我预期(或者我可能只是期望太多).

这是SQL:

INSERT OR IGNORE INTO MailQueue(SubscriberID, TemplateID)
    SELECT Subscribers.ID, '1' AS TemplateID
    FROM Subscribers 
    INNER JOIN SubscriberGroups ON Subscribers.ID=SubscriberGroups.SubscriberID
    WHERE SubscriberGroups.GroupID IN ('1', '2', '3')
    AND Subscribers.ID NOT IN 
        ( 
        SELECT Subscribers.ID FROM Subscribers 
        INNER JOIN SubscriberGroups ON Subscribers.ID=SubscriberGroups.SubscriberID
        WHERE SubscriberGroups.GroupID IN ('4', '5', '6')
        );
Run Code Online (Sandbox Code Playgroud)

我得到的是一个或多个组中的订阅者列表.我想将订阅者添加到邮件队列中,选择属于一个或多个组(1,2,3)的订阅者,但排除那些也在另一组组中的订阅者(4,5,6).

首先,是上面的SQL典型的如何做到这一点?

其次,我应该有什么指标尽可能有效地完成这项工作?

目前,在平均规格LAMP上通过大约5000个订户记录(以及少数几个组)需要大约30秒.

在一天结束时,表现并不是那么重要,但我想更好地理解这些东西,所以任何见解都非常受欢迎.

布拉德

sql sqlite

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

ReSharper和var

可能重复:
为什么ReSharper想要使用'var'作为一切?

我有ReSharper 4.5并且到目前为止发现它非常宝贵,但我有一个顾虑;
它似乎想要隐含每个变量声明(var).
作为一个相对较新的开发人员,在这方面我应该相信ReSharper多少钱?

从Paints Tab Headers的方法中获取以下代码片段.

TabPage currentTab = tabCaseNotes.TabPages[e.Index];
Rectangle itemRect = tabCaseNotes.GetTabRect(e.Index);
SolidBrush fillBrush = new SolidBrush(Color.Linen);
SolidBrush textBrush = new SolidBrush(Color.Black);
StringFormat sf = new StringFormat
{
    Alignment = StringAlignment.Center,
    LineAlignment = StringAlignment.Center
};
Run Code Online (Sandbox Code Playgroud)

Resharper希望我将所有5个改为var.我已经阅读了以下类似帖子,在C#中使用var关键字,但我想从ReSharper的角度来看.

.net resharper implicit

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