小编Dan*_*Dan的帖子

正则表达式 字符串解析

有可能打开一堆蠕虫并获得负面投票,我发现自己需要问,

我什么时候应该使用正则表达式?何时更适合使用字符串解析?

而且我将需要关于你的立场的例子推理.我希望你能解决一些问题,比如可读性,可维护性,扩展性以及你答案中最重要的性能.

我发现另一个问题在这里只有一个答案,甚至困扰一个例子.我需要更多了解这一点.

我目前正在使用C++,但是正则表达式几乎都是高级语言,我想知道不同的语言如何使用/处理正则表达式,但这更像是一种思考.

感谢您帮助理解它!

编辑:我仍然在寻找更多的例子,并就此进行讨论,但到目前为止的反应非常好.:)

regex language-agnostic string performance parsing

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

C++可以setw和setfill填充字符串的结尾?

有没有办法制作setwsetfill填充字符串的末尾而不是前面?

我有一种情况,我打印这样的东西.

 CONSTANT TEXT variablesizeName1 .....:number1 

 CONSTANT TEXT varsizeName2 ..........:number2
Run Code Online (Sandbox Code Playgroud)

我想添加一个可变数量'.'的结尾

"CONSTANT TEXT variablesizeName#"所以我可以":number#"在屏幕上排队.

注意:我有一个数组,"variablesizeName#"所以我知道最广泛的情况.

要么

我应该做手工设置setw这样的

for( int x= 0; x < ARRAYSIZE; x++)
{
string temp = string("CONSTANT TEXT ")+variabletext[x];
cout <<  temp;
cout << setw(MAXWIDTH - temp.length) << setfill('.') <<":";
cout << Number<<"\n";
}
Run Code Online (Sandbox Code Playgroud)

我想这可以做到这一点,但感觉有点笨重.

想法?

c++ formatting setw

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

HTML5中自定义数据属性名称中的有效字符

我正在data-*我的网站中创建一些自定义属性,我很难阅读Spec Here and Here.

我可以说[a-z], [0-9] and '-'是允许的,但我不能从中解读更多.

我也认为"A-Z"在处理之前会自动转换为较低的(规范链接1),但它提到不使用它们.(规格链接2)

问题:

1)自定义data-*属性中允许和不允许使用哪些字符?

2)特殊字符是否'_', '!', '$', etc.允许?

谢谢.

html javascript html5

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

从另一张FORM中取回隐藏的FORM

我有两种形式Form1,并Form2

我打开Form2Form1button_Click

Form2 obj2 = new Form2();
this.Visible = false;
obj2.Show();
Run Code Online (Sandbox Code Playgroud)

然后我想回到Form1可见的(处置Form2)在我离开的控件的相同状态.....

.net c# winforms

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

C++ While(cin >> x)如何工作?

我的问题是怎么做

while(cin>>x)
{
     //code
}
Run Code Online (Sandbox Code Playgroud)

工作.或者更具体地说,那段代码会停止循环?

这里的文档中,它看起来像>>运算符返回一个&istream.这是否意味着如果读取失败或命中文件末尾它不仅设置eofbit,failbit或badbit而且还返回null?这真的没有意义,所以我怀疑是这样.

有没有对eofbit进行某种隐式检查?

我问,因为我希望用这样的2个类来实现类似的东西,

class B
{
   //variables and methods
}

class A
{
   //Variables and methods
   //Container of B objects. ex. B[] or vector<B> or Map<key,B>
   &A >> (B b);
}

int main()
{
   A a;
   B b;

   while( a >> b)
   {
      //Code
   }

}
Run Code Online (Sandbox Code Playgroud)

注意:我不打算继承,istream除非它是使这项工作的魔力来自哪里.这样做的原因是我希望保持类及其依赖关系尽可能小.如果我继承istream我将收到所有公共和受保护的东西,我不是想创建一个istream类似的对象.我只想复制一件真正好看的东西.

编辑:我正在使用Visual Studio 2010(这正在成为一个真正的痛苦),我将需要与它的C++ 03 +一些C++ 11的实现兼容的东西.

c++ operators cin istream

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

我如何在struct中声明数组?

如何在其中声明具有固定大小数组的结构?

我找到了解决方案,但它只适用于原始数据类型.我需要我的阵列类型MyStruct.

那么如何在其中声明一个包含其他结构数组的结构?

恩.

    unsafe struct Struct1{
      fixed int arrayInt[100]; // works properly 
      fixed Struct2 arrayStruct[100]; //not compile
    }
Run Code Online (Sandbox Code Playgroud)

c# interop

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

C++在<<作为参数后使用stringstream

是否有可能编写一个采用字符串流并使其看起来像这样的方法,

void method(string str)
void printStringStream( StringStream& ss)
{
    method(ss.str());
}
Run Code Online (Sandbox Code Playgroud)

并且可以像这样调用

stringstream var;
printStringStream( var << "Text" << intVar << "More text"<<floatvar);
Run Code Online (Sandbox Code Playgroud)

我查找<<运算符,看起来它返回一个ostream&对象,但我可能读this错了或者没有正确执行它.

我真正想要的只是一种将字符串连接在一起并将其传递给函数的简洁方法.我能找到的最干净的东西是一个stringstream对象,但仍然有很多不足之处.

笔记:

我不能使用很多c++11答案,因为我在Visual Studio 2010上运行(违背我的意愿,但仍然)

我有机会Boost这么坚持下去.

只要清理这个烂摊子我就不会反对自定义方法.

编辑:

随着@Mooing Duck的回答与@PiotrNycz语法的混合我实现了我这样编写代码的目标,

try{

    //code

}catch(exception e)
{   
    printStringStream( stringstream() << "An exception has occurred.\n"
                            <<"    Error: " << e.message 
                            <<"\n If this persists please contact "<< contactInfo
                            <<"\n Sorry for the inconvenience");
}
Run Code Online (Sandbox Code Playgroud)

这是我所希望的那样清洁和可读.

希望这有助于其他人清理写信息.

c++ concatenation stringstream

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

C#应用程序 - 降低CPU使用率

我有一个多线程C#应用程序,其中核心逻辑位于Timer.Elapsed事件处理程序中.事件处理程序包含2个for循环,最多执行n * n = 5 * 5 = 25 times.

该应用程序在我的PC上运行良好.我VS 2010 Profiler针对应用程序运行,CPU使用率平均为20%.

该公司的测试人员说,在他的电脑上,他的电脑上的这个数字会上升到50%100%之间.这导致了他的性能问题.

  • 有什么办法可以解决这个问题吗?
  • 高CPU使用率究竟意味着什么?
  • 这会影响他的电脑吗?
  • 是否可以告诉应用程序仅使用XCPU的数量?

任何帮助,将不胜感激.

c# performance for-loop cpu-usage

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

.NET MVC 3在C#中向SelectListItem添加属性

所以我试图在下拉列表中设置标签的样式.我的MVC助手设置类似这样,但真实的东西来自数据库,因此数据不是硬编码的.

@{
    List<string> ListOfText = new List<string> { "FirstThing","SecondThing","ThirdThing"};
    List<string> ListOfValue = new List<string> { "1","2","3"};
    List<SelectListItems> ListOFSELCETLISTITEMS = new List<SelectListItem>();    

    for (int x = 0; x < 3; x++)
    {
        ListOFSELCETLISTITEMS .Add(new SelectListItem
        {
            Text = ListOfText[x],
            Value = ListOfValue[x],
            Selected = (selectedValue == ListOfValue[x])
        });
    }
}   
@Html.DropDown("NAME",ListOFSELCETLISTITEMS)
Run Code Online (Sandbox Code Playgroud)

这给了我类似的东西

<select id="Name" name="Name">
    <option value="1">FirstThing</option>
    <option value="2">SecondThing</option>
    <option value="3">ThirdThing</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我需要的是这样的东西

<select id="Name" name="Name">
    <option value="1" class="option1">FirstThing</option>
    <option value="2" class="option2">SecondThing</option>
    <option value="3" class="option3">ThirdThing</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情

@{
    List<string> ListOfText = …
Run Code Online (Sandbox Code Playgroud)

.net html c# asp.net-mvc-3

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

使用实体框架向数据库提交更改

我遇到按日期从表中提取数据的情况。如果没有提供给定日期的数据,我将使用默认值创建一条记录并将其全部显示给用户。当用户处理完数据后,我需要提交更改。

所以我的问题是我如何在实体框架中提交表以处理可能同时存在更新和添加的表。这是使用MVC3和Entity Framework的C#语言。

因此,这就是开始数据的样子,

表A

NAME  AGE PHONE_NUM 
Jim   25  555-555-5555 
Jill  48  555-551-5555
Run Code Online (Sandbox Code Playgroud)

在用户处理完数据后,看起来可能像这样,

表A

NAME  AGE PHONE_NUM
Jim   25  555-555-5555
Jill  28  555-551-5555
Rob   42  555-534-6677
Run Code Online (Sandbox Code Playgroud)

如何提交这些更改?我的问题是既需要更新又需要插入吗?

我已经找到了一些类似的代码,但我不知道这种情况是否行得通。

用于添加数据行

entities.TABlEA.AddObject(TableOBJECT);
entities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

或用于更新数据

entities.TABLEA.Attach(entities.TABLEA.Single(t => t.NAME == TableOBJECT.NAME));
entities.TABLEA.ApplyCurrentValues(TableOBJECT);
entities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

这项工作中的任何一项还是我需要跟踪那里的内容和添加的内容?

有想法吗?

c# entity-framework asp.net-mvc-3

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