问题列表 - 第36110页

按位标志和Switch语句?

我有以下代码(示例),我真的不喜欢这么多'if'检查:

public enum Flags 
{
    p1 = 0x01,  // 0001
    p2 = 0x02,  // 0010  
    p3 = 0x04,  // 0100
    p4 = 0x08   // 1000
};      

public static void MyMethod (Flags flag)
{
    if ((flag & Flags.p1) == Flags.p1)
        DoSomething();

    if ((flag & Flags.p2) == Flags.p2)
        DosomethingElse();

    if ((flag & Flags.p3) == Flags.p3)
        DosomethingElseAgain();

    if ((flag & Flags.p4) == Flags.p4)
        DosomethingElseAgainAndAgain();
}

MyMethod(Flags.p1 | Flags.p3);
Run Code Online (Sandbox Code Playgroud)

有没有办法,我可以使用'switch'语句.也许如果我将它们转换为字符串,或使用数组?

c# enums bit-manipulation switch-statement

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

为什么会进入无限循环?

好的,所以我正在尝试创建一个文件夹,子文件夹及其文件的列表,但是现在它没有打印任何东西,似乎进入了一个无限循环.知道为什么吗?

 //infinate loop start
        for(int j = 0; j < (int) dirs[i].folders.size(); j++){
            dirs.push_back(Directory(dirs[i].folders[j]));

            getfiles(dirs[i].dir,dirs[i].files);
            getfolders(dirs[i].dir,dirs[i].folders);
        }
        //infinate loop end
Run Code Online (Sandbox Code Playgroud)

这是完整的来源:

#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <errno.h>
#include <vector>
#include <string>
#include <iostream>

using namespace std;

struct Directory{
  public:
        int indent;
        vector<string> files;
        vector<string> folders;
        string dir;
        Directory(string mydir){ dir = mydir;}
};

int getfolders (string dir, vector<string> &folders)
{
    DIR *dp;
    struct stat st;
    struct dirent *dirp;
    if((dp  = opendir(dir.c_str())) == NULL) {
        cout << "Error(" << …
Run Code Online (Sandbox Code Playgroud)

c++ directory loops infinite-loop while-loop

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

WINFORM控制问题(滑块在哪里?)

如何获得滑块?我无法找到工具箱内的滑块组件.

.net c# winforms

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

在一系列的行和列中搜索和替换

我想应用搜索并替换仅在文本文件的给定范围的行和列中起作用的正则表达式模式,如下所示:

AAABBBFFFFBBBAAABBB
AAABBBFFFFBBBAAABBB
GGGBBBFFFFBHHAAABBB
Run Code Online (Sandbox Code Playgroud)

例如,我想在行范围1到2和第4列到第6行中用YYY替换BBB,然后获得此输出:

AAAYYYFFFFBBBAAABBB
AAAYYYFFFFBBBAAABBB
GGGBBBFFFFBHHAAABBB
Run Code Online (Sandbox Code Playgroud)

有没有办法用Vim做到这一点?

regex vim

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

我想在matlab中找到矩阵中数字的位置

我有一个矩阵可以说

x =
 2     2     3
 4     3     2
 6     4     8
Run Code Online (Sandbox Code Playgroud)

现在我想得到一个数字4的位置.
我想ans这样:

ans=(2,1) (3,2)
Run Code Online (Sandbox Code Playgroud)

因为这些是矩阵中4的位置.

matlab

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

如何实现PubSubHubbub?

我想知道如何实现使用PubSubHubbub在PHP site.I it.Can你解释我不明白?我不明白.发布者通知订阅者和订阅者 - 我的网站?

    <?php

// simple example for the PHP pubsubhubbub Subscriber
// as defined at http://code.google.com/p/pubsubhubbub/
// written by Josh Fraser | joshfraser.com | josh@eventvue.com
// Released under Apache License 2.0

include("PuSHSubscriber.php");

$hub_url = "http://pubsubhubbub.appspot.com";
$callback_url = "url to my site?";

$feed = "feed link";

// create a new subscriber
$s = new Subscriber($hub_url, $callback_url);

// subscribe to a feed
$s->subscribe($feed);
// unsubscribe from a feed
//$s->unsubscribe($feed);

?>
Run Code Online (Sandbox Code Playgroud)

或者在$ hub_url上我应该发布我的中心?

php websub

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

属性"对齐"被认为是过时的.建议使用较新的构造...什么是较新的构造?

我目前正在使用c#在visual studio 2010上构建多个网站.我留下的唯一错误(消息)或者img对齐,div对齐和<a name属性...这被认为是过时的.建议使用较新的结构.

网站仍然有效,但由于我在学习过程中我想要0个错误/消息...我无法在网上找到任何新的构造取代这些的构造.

有人可以帮忙吗?

html css

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

C++,为什么array = ptr合法?

最近我看到了这段代码.这行不应该是编译错误吗?char arr[4]="Abc";

这里发生了什么?是arr指针吗?将char*复制到堆栈中的数组中?这在所有版本的C++中都是合法的(那么C呢?).我测试并看到这适用于VS和代码垫我相信使用gcc

-edit-为了好玩,我尝试用静态const char*替换"Abc".它给了我一个无效的初始化错误.

int main()
{
    int j=97;
    char arr[4]="Abc";
    printf(arr,j);
    getch();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ syntax

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

如何在Perl中获得$ foo的十六进制表示?

给定$foo包含二进制数据的变量,如何获取$fooPerl中的十六进制表示?

perl hex

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

你能在WHERE子句中按字母顺序比较文本吗?

我正在使用SQLite,我需要执行以下操作:

SELECT * FROM fruit WHERE name<='banana'
Run Code Online (Sandbox Code Playgroud)

此语句应返回其"name"列包含在单词"banana"之前(或等于)字母顺序排列的文本的所有条目.所以它应该返回带有"apple"的行,而不是带有"pear"或"orange"的行.

似乎只是使用<=运算符不起作用,那么还有另一种方法吗?

sql database sqlite

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