问题列表 - 第28555页

对于switch的break语句,是否有更好的编程语言?

语法太多,语法相同:

switch (someValue) {

  case OPTION_ONE:
  case OPTION_LIKE_ONE:
  case OPTION_ONE_SIMILAR:
    doSomeStuff1();
    break; // EXIT the switch

  case OPTION_TWO_WITH_PRE_ACTION:
    doPreActionStuff2();
    // the default is to CONTINUE to next case

  case OPTION_TWO:
    doSomeStuff2();
    break; // EXIT the switch

  case OPTION_THREE:
    doSomeStuff3();
    break; // EXIT the switch

}
Run Code Online (Sandbox Code Playgroud)

现在所有人都知道break语句是必需的,因为当语句丢失时,语句switch将继续到下一个语句.我们有一个例子,和.问题是我们只需要非常非常非常需要"跳到下一个案例".而且我们经常在结束时放下休息时间.casebreakOPTION_LIKE_ONEOPTION_ONE_SIMILAROPTION_TWO_WITH_PRE_ACTIONcase

初学者很容易忘记它.我的一位C老师甚至向我们解释过,好像这是C语言中的一个错误(不想谈论:)

我想问一下,我是否还有其他任何语言,我不知道(或忘记)处理这样的开关/案例:

switch (someValue) {

  case OPTION_ONE:  continue; // CONTINUE to next case
  case OPTION_LIKE_ONE:  continue; // CONTINUE to next case
  case OPTION_ONE_SIMILAR:
    doSomeStuff1(); …
Run Code Online (Sandbox Code Playgroud)

c java language-agnostic programming-languages switch-statement

18
推荐指数
3
解决办法
1291
查看次数

用java中的非转义等效字符串替换所有转义序列

我有一个像这样的字符串:

<![CDATA[<ClinicalDocument>rest of CCD here</ClinicalDocument>]]>
Run Code Online (Sandbox Code Playgroud)

我想用他们的非转义字符替换转义序列,最终得到:

<![CDATA[<ClinicalDocument>rest of CCD here</ClinicalDocument>]]>
Run Code Online (Sandbox Code Playgroud)

java regex escaping

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

如何摆脱正则表达式中的重复

假设我有一根绳子,"猫猫猫狗狗狗".

我将使用什么正则表达式来替换"猫与狗"的字符串.即删除重复项.但是,表达式只能删除彼此之后的重复项.例如:

"猫猫猫狗狗狗猫猫猫狗"

会回来:

"猫与狗,猫与狗"

c# regex duplicates

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

如何使这个Dictionary TryGetValue代码更具可读性?

我想测试一个id是否尚未知道,或者,如果已知,则关联值是否已更改.我目前正在使用与此类似的代码,但对于那些不熟悉该模式的人来说很难理解.您是否可以想到一种方法,使其在LOC中保持简短时更具可读性?

string id;
string actual;
string stored;

if (!someDictionary.TryGetValue (id, out stored) || stored != actual) {
    // id not known yet or associated value changed.
}
Run Code Online (Sandbox Code Playgroud)

.net c# dictionary trygetvalue

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

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

JavaScript分割功能

我喜欢使用JavaScript根据","字符拆分字符串

var mystring="1=name1,2=name2,3=name3";
Run Code Online (Sandbox Code Playgroud)

需要这样的输出

1=name1
2=name2
3=name3
Run Code Online (Sandbox Code Playgroud)

javascript

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

在OS X的tmp文件夹中创建一个临时文件夹

如何使用C ++语言在tmp文件夹中创建一个临时文件夹。

我有3卷。Leopard,Development和10.6(在Mac OS X中),我想在当前主目录中创建一个临时目录。

这是我的代码。我对这条线感到困惑char* tempdir = "/Volumes/Development/NewFolder.XXXXXX"

if (!mkdtemp(tempdir)) 

   fprintf(stderr, "Not able to create directory"); 
Run Code Online (Sandbox Code Playgroud)

c macos

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

ASP.NET MVC 2 - 做UrlParameter.Optional条目必须在路由的末尾吗?

我正在将一个站点从ASP.NET MVC 1迁移到ASP.NET MVC 2.目前,该站点支持以下路由:

/{country}/{language}/{controller}/{action}
/{country}/{controller}/{action}
/{language}/{controller}/{action}
/{controller}/{action}
Run Code Online (Sandbox Code Playgroud)

Regex 的格式countrylanguage可区分,并具有适当的约束.在MVC 1中,我将每个作为单独的路线注册 - 对于大约20种组合中的每一种.在MVC 2中,我一直在尝试使用一条路径来处理所有四种情况,使用UrlParameter.Optional,但我似乎无法使其工作 - 如果我定义country并且language作为两个可选,那么路由/Home/Index例如不没有成功匹配路线.这就是我想要做的:

routes.MapRoute("Default",
    "{country}/{language}/{controller}/{action}",
    new { country = UrlParameter.Optional, language = UrlParameter.Optional,
        controller = "Home", action = "Index" },
    new { country = COUNTRY_REGEX, language = LANGUAGE_REGEX });
Run Code Online (Sandbox Code Playgroud)

这是不可能的,因为我的选项是在路线的开头,还是我只是遗漏了什么?我找不到任何文件要么告诉我我在做什么是不可能的,要么指出我正确的方向.

asp.net-mvc asp.net-mvc-routing

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

参数化WHERE子句?

我需要为SQL Server 2008编写一个存储过程来执行大型select查询,我需要它来过滤结果,并通过过程的参数指定过滤类型.我发现了一些这样的解决方案:

create table Foo(
   id bigint, code char, name nvarchar(max))
go

insert into Foo values
 (1,'a','aaa'),
 (2,'b','bbb'),
 (3,'c','ccc')
go

create procedure Bar
       @FilterType  nvarchar(max),
       @FilterValue nvarchar(max) as
begin
    select * from Foo as f
    where case @FilterType
          when 'by_id'   then f.id
          when 'by_code' then f.code
          when 'by_name' then f.name end
          = 
          case @FilterType
          when 'by_id'   then cast(@FilterValue as bigint)
          when 'by_code' then cast(@FilterValue as char)
          when 'by_name' then @FilterValue end
end
go

exec Bar 'by_id', '1'; …
Run Code Online (Sandbox Code Playgroud)

sql parameters stored-procedures sql-server-2008

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

什么是好的"错误检查"模式(Java)?

我将解释输入错误检查的含义.

假设你有一个功能doSomething(x).

如果函数成功doSomething完成某事并且什么都不返回.但是,如果有错误,我希望收到通知.这就是错误检查的意思.

一般来说,我一直在寻找检查错误的最佳方法.我想到了以下解决方案,每个解决方案都存在潜在问题.

  1. 标记错误检查.如果doSomething(x)完成成功返回null.否则,它返回一个布尔值或错误字符串.问题:副作用.

  2. 抛出异常.doSomething(x)遇到错误时抛出异常.问题:如果您仅对参数执行错误检查,则抛出IllegalArgumentException似乎不合适.

  3. 在函数调用之前验证输入.如果错误检查仅用于函数的参数,则可以在调用函数之前调用验证器doSomething(x)函数.问题:如果类的客户端在调用之前忘记调用验证器函数doSomething(x)怎么办?

我经常遇到这个问题,并且非常感谢任何帮助或正确方向上的一点.

java error-handling

17
推荐指数
2
解决办法
8776
查看次数