问题列表 - 第22429页

当您使用旗帜(Enum)时,您的限制为64.达到限制时有哪些替代方案?

使用.net下的enum,你可以使用的最大数字是ULong.
这意味着最多64个标志.

当你需要超过64个标志时,会有什么选择?

编辑

对不起,我忘了添加这个,替代方案仍然可以使用按位操作 至少这一个; .

使用Josh Einstein的建议,我想出了这个,它有意义吗?

class bitArrayFlag
{
    private const int flagSize = 255; //allow X numbers of flags

    public BitArray flag1;
    public BitArray flag2;
    public BitArray flagN;

    public bitArrayFlag()
    {
        int flagPos = 0;
        bool[] flagBit = new bool[flagSize];

        flagBit[flagPos] = true;
        flag1 = new BitArray(flagBit);

        flagBit[flagPos] = false;
        flagPos += 1;
        flagBit[flagPos] = true;
        flag2 = new BitArray(flagBit);

        //...
        //...
        //...

        flagBit[flagPos] = false;
        flagPos += …
Run Code Online (Sandbox Code Playgroud)

.net

10
推荐指数
2
解决办法
4526
查看次数

Linq where关键字vs. Where扩展名和Expression参数

将表达式传递给Linq查询的行为取决于所使用的语法,我想知道为什么会这样.

假设我有这个非常通用的功能

private IEnumerable<Company> 
    GetCompanies(Expression<Func<Company, bool>> whereClause)
Run Code Online (Sandbox Code Playgroud)

以下实现按预期工作

private IEnumerable<Company> 
    GetCompanies(Expression<Func<Company, bool>> whereClause)
{
    return (from c in _ctx.Companies.Where(whereClause) select c);
}
Run Code Online (Sandbox Code Playgroud)

但是这个下一个实现不能编译(Delegate'System.Func'不带1个参数)

private IEnumerable<Company> 
    GetCompanies(Expression<Func<Company, bool>> whereClause)
{
    return (from c in _ctx.Companies where whereClause select c);
}
Run Code Online (Sandbox Code Playgroud)

显然我可以使用第一种语法,但我只是想知道为什么编译器不会将where关键字视为Where扩展名?

谢谢,托马斯

linq extension-methods delegates

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

有目的地启动短信应用程序

我有一个关于意图的问题......我尝试启动短信应用...

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setType("vnd.android-dir/mms-sms");
int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP |
    Intent.FLAG_ACTIVITY_CLEAR_TOP;
intent.setFlags(flags);
intent.setData(Uri.parse("content://sms/inbox"));
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

所以,你可以看到我在我的意图中放了太多东西,但那是因为我不知道我该怎么办...谢谢

sms android android-intent

142
推荐指数
8
解决办法
15万
查看次数

如何在jQuery中编写循环,等待每个函数在继续循环之前完成

如果这是显而易见的,请原谅我.

我在页面上有一个未知数量的元素,我需要一次循环一个并执行操作.但是,我需要循环暂停,直到元素上使用的函数完成,然后继续下一次迭代.

我尝试在$ .each循环中执行此操作,但它快速启动命令并完成而无需等待它们完成.

有任何想法吗?

$('elem').each(function(){
    $(this).fadeIn().wait(5000).fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的,非常简单.我从这里得到了wait()函数:jquery cookbook site.

问题是,循环等待 - 实际命令按预期工作,只是它们一次全部消失.

任何帮助表示感谢,谢谢.

编辑:执行此操作后,我可能希望再次执行循环,以便elems列表将按顺序再次淡入/淡出

EDIT2:从那以后得到了1.4.2 jQuery lib,使用的是1.3.2,因此自定义了wait()函数.现在使用lobstrosity提到的delay().管理从他的答案拼凑出一些接近我需要的东西,感谢lobstrosity :).

each jquery loops synchronous wait

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

使用模糊搜索在Vim中打开文件

我正在寻找一种方法让Vim能够通过模糊搜索其名称来打开文件.

基本上,我希望能够定义一个项目,然后有一个快捷方式,它将为我提供一个键入文件名的位置,并且如果有任何字母匹配则匹配.

这种功能存在于我见过的大多数编辑中,但对于我的生活,我无法理解如何让Vim这样做.

请注意,我寻找的东西,不会要求我有什么想法,凡在我目录树中的文件.我只是希望能够通过文件名打开它,无论它在哪个目录中.

谢谢

vim text-editor editor

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

如何使用相同的凭据记录两次用户会话时使其无效

我正在使用带有Richfaces和Facelets的JSF 1.2.

我有一个应用程序,有许多会话范围的bean和一些应用程序bean.

用户使用Firefox登录.创建一个ID ="A"的会话; 然后他打开Chrome并使用相同的凭据再次登录.创建ID ="B"的会话.

当创建会话"B"时,我希望能够销毁会话"A".怎么做?

也.当Firefox中的用户做任何事情时,我希望能够显示一个弹出窗口或某种通知,说"你已经登出,因为你已经从其他地方登录".

我有一个sessionListener,可以跟踪创建和销毁的会话.问题是,我可以将HTTPSession对象保存在应用程序范围的bean中,并在检测到用户已登录两次时将其销毁.但有些东西告诉我这是错误的,不会奏效.

JSF是否跟踪服务器端的某些会话?如何通过标识符访问它们?如果没有,如何在用户登录两次时首次登录?

java session jsf richfaces facelets

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

如何尽快实现strlen

假设您正在使用x86 32位系统.您的任务是尽快实现strlen.

你需要注意两个问题:1.地址对齐.2.读取机器字长(4字节)的存储器.

在给定的字符串中找到第一个对齐地址并不难.

然后我们可以用4个字节读取一次内存,并计算总长度.但是,一旦在4个字节中有一个零字节,我们应该停止,并在零字节之前计算左字节.为了快速检查零字节,glibc提供了一个代码片段:

unsigned long int longword, himagic, lomagic;
himagic = 0x80808080L;  
lomagic = 0x01010101L;

// There's zero byte in 4 bytes.
if (((longword - lomagic) & ~longword & himagic) != 0) {
    // do left thing...
}
Run Code Online (Sandbox Code Playgroud)

我在Visual C++中使用它,与CRT的实现进行比较.CRT比上面的快得多.

我不熟悉CRT的实现,他们是否使用更快的方法来检查零字节?

c++ algorithm

8
推荐指数
2
解决办法
5196
查看次数

这个SQL有效吗?

我仍然是在我的db_design中实现连接的新手,我不确定这个SQL是否有效.

"SELECT * FROM notes JOIN small_note ON notes_id = '$id' AND authname = '$author' AND bookname = '$book' AND user = '$username'"
Run Code Online (Sandbox Code Playgroud)

这样更容易阅读:

"SELECT * FROM notes
    JOIN small_note ON notes_id = '$id'
    AND authname = '$author'
    AND bookname = '$book'
    AND user = '$username'";
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

jax-ws将Content-type更改为Content-Type,因为服务器是超敏感的

我必须连接到一个实现效果不佳的服务器,它只能理解Content-Type(资本-T)而不是Content-type.我怎样才能让我的JAX-WS客户端发送Content-Type

我试过了:

Map<String, List<String>> headers = (Map<String, List<String>>)
((BindingProvider)port).getRequestContext().get(MessageContext.HTTP_REQUEST_HEADERS);
Run Code Online (Sandbox Code Playgroud)

不过headersnull.我究竟做错了什么?

java client header http jax-ws

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

为什么我们从main()返回时遵循相反的约定?

我已经完成了这个这个,

但我在这里问的问题是为什么被0认为是Success

我们总是联系0在一起false,不是吗?

c c++ return-value

4
推荐指数
2
解决办法
347
查看次数