我正在尝试ngOptions
与track by
这是我的模板
<select ng-model="asd" ng-options="user.id as user.name for user in users track by user.id | orderBy: 'name'">
Run Code Online (Sandbox Code Playgroud)
这是我的控制器
function AppCtrl($scope) {
$scope.users = [
{id : 25, name: 'Batista'},
{id : 26, name: 'Ultimate Warrior'},
{id : 27, name: 'Andre the giant'}
];
$scope.name = 'asdasd';
$scope.asd = 25;
}
Run Code Online (Sandbox Code Playgroud)
我知道我能做到这一点
var nv = HttpUtility.ParseQueryString(req.RawUrl);
Run Code Online (Sandbox Code Playgroud)
但有没有办法将其转换回网址?
var newUrl = HttpUtility.Something("/page", nv);
Run Code Online (Sandbox Code Playgroud) 使用c#4.0 - 构建一个接口和一个实现接口的类.我想在界面中声明一个可选参数,并让它反映在类中.所以,我有以下内容:
public interface IFoo
{
void Bar(int i, int j=0);
}
public class Foo
{
void Bar(int i, int j=0) { // do stuff }
}
Run Code Online (Sandbox Code Playgroud)
编译,但看起来不正确.接口需要具有可选参数,否则它在接口方法签名中无法正确反映.
我应该跳过可选参数并使用可空类型吗?或者这是否按预期工作,没有副作用或后果?
我意识到这可能是主观的,所以会问一个具体的问题,但首先,背景:
我一直是一名嵌入式软件工程师,但通常在OSI堆栈的第3层或第2层.我不是一个硬件家伙.我一般都经常使用电信产品,通常是手机/手机,这通常意味着像ARM 7处理器.
现在我发现自己处于一个更通用的嵌入式世界中,在一个小型的初创公司中,我可能会转向"不那么强大"的处理器(这是主观位) - 我无法预测哪个.
我已经阅读了很多关于嵌入式系统中C++异常处理的争论,并没有明确的答案.有一些关于可移植性的小担忧和一些关于运行时的担忧,但它似乎主要归结为代码大小(或者我正在阅读错误的辩论?).
现在我必须决定是否使用或放弃异常处理 - 对于整个公司,永远(它将进入一些非常核心的s/w).
这可能听起来像"一根绳子有多长",但有人可能会回答"如果你的琴弦是8051,那就不要.如果,OTOH,那就是......".
我跳哪个方向?超级安全,失去一个好的功能,或特殊的代码,可能会在以后遇到问题?
CheckedListBox
使用鼠标单击时,WinForms 控件有2个默认行为:
作为一项便利功能,我需要允许用户一键切换选择.我已经实现了这一点,所以现在只需点击一下即可实现上面的默认行为#1.问题是当单击相同(即当前选定的)项目时,行为#2不再正常工作.它在项目之间跳转时工作正常,这是理想的,但同一项目最多需要4次点击.
我的解决方法是,如果用户重复选择相同的项目,则调用两次切换逻辑.关于我的问题:
奇怪的是,调试代码显示已检查状态已更改但在UI方面没有出现,直到它被调用两次.我认为它可能与线程相关,但它不是一个可能需要BeginInvoke
使用的可重入事件.
这是我的代码:
using System.Linq;
using System.Windows.Forms;
namespace ToggleCheckedListBoxSelection
{
public partial class Form1 : Form
{
// default value of -1 since first item index is always 0
private int lastIndex = -1;
public Form1()
{
InitializeComponent();
CheckedListBox clb = new CheckedListBox();
clb.Items.AddRange(Enumerable.Range(1, 10).Cast<object>().ToArray());
clb.MouseClick += clb_MouseClick;
this.Controls.Add(clb);
}
private void clb_MouseClick(object sender, MouseEventArgs e)
{
var clb = (CheckedListBox)sender;
Toggle(clb);
// call toggle method …
Run Code Online (Sandbox Code Playgroud) 我在WPF应用程序中有一个ComboBox,它绑定到C#ViewModel类中的Department对象的ObservableCollection.我想使用组合框按部门过滤另一个集合(现在它确实适用于此)问题是我想在列表顶部添加一个额外的选项"全部".有没有正确的方法来做到这一点.制作假部门在很多方面都是错误的.
ComboBox
<ComboBox ItemsSource="{Binding Path=Departments}"
SelectedValue="{Binding Path=DepartmentToShow , Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud) 我今天正在编写一些代码,当我在另一台显示器上的屏幕上进行alt-tabbed以检查某些内容时处于中间位置.当我回头看时,ReSharper将灰色下面的第3行着色,并注明"分配的值未在任何执行路径中使用".
var ltlName = (Literal) e.Item.FindControl("ltlName");
string name = item.FirstName;
name +=
ltlName.Text = name;
Run Code Online (Sandbox Code Playgroud)
我很困惑; 肯定这段代码无法编译.但确实如此,它也运行了."name + ="行对字符串没有影响(我可以告诉).这里发生了什么?
(Visual Studio 2008,.NET 3.5)
由于某种原因,以下代码生成不包含声明的XML:
XDocument xDocument = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
new XElement("project",
new XAttribute("number", project.ProjectNumber),
new XElement("store",
new XAttribute("number", project.StoreNumber)
),
// User Element
new XElement("user",
new XAttribute("owner-id", project.OwnerID ?? 0),
new XElement("email", new XCData(project.OwnerEmail ?? "")),
new XElement("project-name", new XCData(project.ProjectName ?? ""))
),
// Nested Project Element
new XElement("nested-project",
new XAttribute("version", new Version(1, 0)),
new XElement("project",
new XAttribute("version", new Version(1, 0)),
xProjectItems = new XElement("project-items")
),
new XElement("price-per-part", project.PricePerPart),
new XElement("sheet-quantity", project.SheetQuantity),
new XElement("edge-length", project.EdgeLength),
new XElement("price", project.Price),
new XElement("status", …
Run Code Online (Sandbox Code Playgroud) 有时能够限制正则表达式操作的模式匹配持续时间可能是有用的.特别是,当使用用户提供的模式来匹配数据时,由于嵌套的量词和过多的反向跟踪(参见灾难性的回溯),模式可能表现出较差的性能.应用超时的一种方法是异步运行正则表达式,但这可能是乏味的并且使代码混乱.
根据.NET Framework 4.5 Developer Preview中的新功能,看起来有一种新的内置方法可以支持这一点:
能够限制正则表达式引擎在超时之前尝试解析正则表达式的时间.
我该如何使用此功能?另外,使用它时我需要注意什么?
我是C#的新手,早些时候我看到了lambda表达式
(params) => { expression;}
Run Code Online (Sandbox Code Playgroud)
但是在LINQ中,我看到了类似的例子
IEnumerable<string> customerFirstNames = customers.Select(cust => cust.FirstName);
Run Code Online (Sandbox Code Playgroud)
没有括号.
它们是相同的还是有什么区别?
非常感谢.