我有这个if-else声明做我想要的.正如你应该能说的那样,它正在做的事情非常简单.
if (width != null && height != null)
{
if (top != null && left != null)
{
ret.type = VMLDimensionType.full;
}
else
{
ret.type = VMLDimensionType.size;
}
}
else
{
if (top != null && left != null)
{
ret.type = VMLDimensionType.positon;
}
else
{
ret.type = VMLDimensionType.unset;
}
}
Run Code Online (Sandbox Code Playgroud)
的enum被称为是:
private enum VMLDimensionType
{
unset = 0,
full = 1,
size = 2,
position = 3
}
Run Code Online (Sandbox Code Playgroud)
它非常简单,我确信有更简洁,更易读的方式来表达这一点.
注意如果不是因为默认情况下VS强加的荒谬的"每条一条线"规则,我可能不会那么烦恼.例如在VB中,我可能会从此代码块中丢失大约10行!(关于那个的任何想法?)
c# refactoring code-readability code-snippets conditional-statements
C#代码段是否可以将行添加到.cs文件顶部的"using"块?我看到VB的元素,但在C#中不起作用.
这段代码是否足够好:
if (MyCollection.Where(p => p.SomeID == idstring).Any())
{
selectedval = MyCollection.Where(p => p.SomeID == idstring).FirstOrDefault().MyField;
}
Run Code Online (Sandbox Code Playgroud)
我怀疑的是我做了两次相同的查询:首先进行空检查,然后实际获取数据.
也许有更好的方法来做这类事情?
在VS2010中是否有本地窗口/扩展,您可以在其中编写单行并查看结果(就像'立即窗口',据我所知,只有在调试模式下才可用).
我对Linq Pad或SnippetCompiler等外部工具不感兴趣
c# visual-studio-2010 code-snippets visual-studio-extensions
我是片段创建的新手.我已成功为C#和HTML创建了多个代码段.当我遇到麻烦时,我开始使用MS Snippet Designer.我遇到的麻烦是我使用以下代码为JS创建了一个片段:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
<Title>tjready</Title>
<Author>admin</Author>
<Description>
</Description>
<HelpUrl>
</HelpUrl>
<Shortcut>$().ready(function() {</Shortcut>
</Header>
<Snippet>
<Code Language="javascript"><![CDATA[$().ready(function() {
//This is a test of the onready
});]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Run Code Online (Sandbox Code Playgroud)
我的目标是为JS或CSHTML文件创建代码段.使用代码片段管理器(工具> CSM)导入后,上述任何类型的文件都不起作用.我尝试将代码段放在html和JavaScript类别中.我也尝试修改代码段的语言类型.
有谁看到我做错了什么?
我想在Objective C程序中的文字字符串中包含<##>.但是,Xcode会自动替换字符串,认为它应该是代码片段中使用的占位符.
例如
NSString *pattern = @"<#foo#>"
Run Code Online (Sandbox Code Playgroud)
尝试将其放入Xcode中,它将重新显示为foo的占位符.
在实际程序中,字符串是这样的RE,<#(.*)#>并且令人惊讶的是,代码实际上按预期工作 - 该问题仅在Xcode的显示中表现出来.真正的问题是,这会造成一种脆弱的情况,在编辑器中,很容易导致文本被意外替换.
作为一种解决方法,我可以从它的部分构造字符串
NSString *p1 = @"<#(.*)";
NSString *p2 = @"#>";
NSString *pattern = [NSString stringWithFormat:@"%@%@",p1,p2];
Run Code Online (Sandbox Code Playgroud)
但那不是很令人满意.
有没有人知道在Xcode中覆盖此行为的更好方法?
我目前正在为blogger移动代码段使用'data:post.snippet'.
<div class='post-body' style='color:black;'>
<b:if cond='data:post.snippet'><data:post.snippet/></b:if>
</div>
Run Code Online (Sandbox Code Playgroud)
但它的字符长度(140)太低,并且它不会在标题和段落之间产生换行符.如果在开始时有一个标题,则需要中断.有人可以建议我用javascript代码替换上面的代码来克服这两个问题.
我试图逃避$我的片段中的角色,但我似乎无法弄清楚它.
如果我\$看起来像我应该来自文档,我得到错误:
file: path/to/snippets/php.json'
severity: 'Error'
message: 'Invalid escape character in string'
Run Code Online (Sandbox Code Playgroud)
并没有$出现在我的片段中.
如果我使用$$从这个答案中找到的,我得到一个$出现,但它认为紧接着的文本是一个tabstop.
如果我使用$\它有效,但我必须有一个字符,它是紧随其后的转义序列的一部分.所以,如果我想$factory,我需要做$\ffactory.\f似乎是最好的,因为它不会影响我的代码段的布局.
我很确定我错过了这里需要做的事情.
我的片段供参考:
"factory" :{
"prefix": "factory",
"body": [
"\$factory->define($1, function (Faker\\Generator \$faker){",
"\treturn [",
"\t\t$2,",
"\t];",
"}"
],
"description": "Creates Model factory"
},
Run Code Online (Sandbox Code Playgroud) 这是我在Sublime Text 3中添加片段的代码:
<snippet>
<content><![CDATA[
document.write();
]]></content>
<tabTrigger> dw </tabTrigger>
</snippet>
Run Code Online (Sandbox Code Playgroud)
问题是如何在此代码中添加光标位置?谢谢.
code-snippets ×10
c# ×5
javascript ×3
.net ×1
blogger ×1
character ×1
linq ×1
objective-c ×1
plugins ×1
refactoring ×1
sublimetext2 ×1
sublimetext3 ×1
token ×1
xcode ×1
xml ×1