我是网站设计的新手,并且正在处理一些代码,其中部分代码如下:
.row-fluid
- if(params[:offset].to_i>0)
= link_to t('.previous'), reports_path(offset: give_previous_page(@offset, @limit)),
{ class: 'btn btn-small btn-primary'}
- else
Run Code Online (Sandbox Code Playgroud)
一些我了解的事情,到目前为止,例如:OK,这是一个铁的代码,而不是ERB我们已经使用HAML语法和有一些Twitter的引导类,如那些.row-fluid和btn-primary它太,但我不明白的是,"-"我们看到的旁边有" if"和" else"的行.那些是什么,他们做了什么?
我有一些LINQ to SQL疑问,想要得到他们的结果union。我需要先运行ToList()它们吗?或者我可以将它们保留为IQueryable原来的样子,然后将它们合并,在合并结束时只需打个电话ToList()?而且这根本没有任何性能改进吗?还是本质上是同一回事?
var query1 = ( from a in this.Context.Blah select a); // .ToList()??
var query2 = ( from b in this.Context.Yada select b); // .ToList()??
var query3 = (query1.Union(query2)).ToList();
Run Code Online (Sandbox Code Playgroud) 我想将这两个图像彼此相邻放置,但是如果屏幕太小,则希望它们堆叠在一起。这就是我在Razor中拥有的:
<div class="row">
<div class="col-sm-12">
@if (Model.ThumbnailUrl != null)
{
<span><img class="thumbnail" src="@Model.ThumbnailUrl" /></span>
}
@if (Model.SignatureUrl != null)
{
<span><img class="thumbnail" src="@Model.SignatureUrl" /></span>
}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是生成的:
<div class="row">
<div class="col-sm-12">
<span style="display: inline"><img class="thumbnail" src="something.jpg;width=200&height=200"></span>
<span style="display: inline"><img class="thumbnail" src="whatever.jpg;width=200&height=200"></span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是它的外观:
他们堆得太早了。屏幕为全尺寸。也许只是在Small或Extra Small中,我希望它们堆叠,否则,我希望它们并排放置。
我该如何解决?
所以我有一个像下面这样的公共类,里面还有另一个嵌套的公共类
public class OuterClass
{
// other stuff
public class InnerClass
{
// some public get set properties
}
public List<InnerClass> InnerClasses;
}
Run Code Online (Sandbox Code Playgroud)
然后在我的存储库中,我有一个像这样的方法:
public InnerClass.InnerClasses MyGetMethod()
{
// go get stuff from DB
}
Run Code Online (Sandbox Code Playgroud)
但是它不允许我这样做!我不能InnerClass.InnerClasses用作该方法的类型。为什么?
我写了这个:
public static decimal Average(int a, int b)
{
return (a + b) / 2;
}
public static void Main(string[] args)
{
Console.WriteLine(Average(2, 1));
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)
但它回来了1.但它应该返回1.5
如何修复它返回1.5?
我写了这个:
Dim dtttm As DateTime = DateTime.Parse(value,
System.Globalization.CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)
并且传入的值是
17/07/30 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
System.FormatException:'字符串未被识别为有效的DateTime.'
在C#程序集中,我们是否可以拥有一个文件,例如File1.cs与该程序集在同一名称空间中,但它没有类?例如,像这样的事情:
namespace something.otherthing
{
public enum E1
{ ..... }
public enum E2
{ ... }
}
Run Code Online (Sandbox Code Playgroud)
我认为这应该是错的?但我们可以在VB 6.0中做到这一点,但在C#中,每件事都应该是一个类.我想确定一下.
我在我们的工具上运行了一个静态代码分析工具,并查看其结果,下面的代码就是它所讨论的事情之一:
SpreadSnapshot oSnap = new SpreadSnapshot();
using (oSnap.SetRowCol(fpSpread, row, col))
{
SpreadSetComboBox(fpSpread, list, displayProperty);
}
Run Code Online (Sandbox Code Playgroud)
所以我将其更改为下面的代码并修复了该工具正在讨论的错误:
using (SpreadSnapshot oSnap = new SpreadSnapshot())
{
oSnap.SetRowCol(fpSpread, row, col);
SpreadSetComboBox(fpSpread, list, displayProperty);
}
Run Code Online (Sandbox Code Playgroud)
那么在您看来,您认为哪种编码风格更合适,更不容易出错?
谢谢
我刚才注意到这个也有效:
MessageBox.Show("number of things in the report are " + myHashSetVariable.Count);
Run Code Online (Sandbox Code Playgroud)
我的印象是我应该使用myHashSetVariable.Count.ToString()
它是VS2010中的某种编译器/解释器改进吗?我正在使用VS2010 Pro
用SQL术语来解释有点难,因为我使用的是内部技术,但是假设我有一个结构数组(类似于我们在C#,C++中使用的结构),我想在表中插入它的值.所以一种方法是迭代数组的psedu代码,读取结构的字段并将它们插入表中,如下所示:
for int i =1 to array.Lenght
{
insert into MyTable values
{
MyTable.Field1 = array[i].Field1;
//etc ...
}
}
Run Code Online (Sandbox Code Playgroud)
但这很糟糕,因为表现很好.如果数组有十个元素,我们调用insert方法十次.应该有一个brillinat的方式来做这个只有一个插入,不知何故使用JOINS在桌子上只是调用插入一次,但我无法想象如何做到这一点......
对此有任何想法都是受欢迎的.
谢谢.