鉴于enum:
[Flags]
public enum mytest
{
a = 1,
b = 2,
c = 4
}
Run Code Online (Sandbox Code Playgroud)
我想出了两种方法来表示单个变量中的所有值:
var OR1 = (mytest)Enum.GetNames(typeof(mytest)).Sum(a => (int)Enum.Parse(typeof(mytest), a));
var OR2 = (mytest)(typeof(mytest).GetEnumValues() as mytest[]).Sum(a => (int)a);
Run Code Online (Sandbox Code Playgroud)
现在,虽然它们都有效,但还有更简洁的方法吗?可能是我缺少的.NET方法?
编辑:为了澄清,我需要函数是动态的 - 我不想通过指定每个enum值来计算它.
假设我需要使用动态查询过滤通用列表(List<string> l; var x = l.Where(*dynamic query*))
我如何使用LINQ做到这一点?(目前在数据视图上使用行过滤器)
我看过scott g发布的帖子:但它似乎不适用于使用的对象IEnumerable(包括通用列表)
谁能提出任何想法?
我可以编写内联集合初始化程序的最简单/最短的方法是什么?
我不关心引用名称,索引很好,只需要在方法范围内使用该项目.
我认为匿名类型集合会更加混乱,因为我每次都必须继续写密钥名称.
我现在有
var foo = new Tuple<int, string, bool>[]
{
new Tuple<int, string, bool>(1, "x", true),
new Tuple<int, string, bool>(2, "y", false)
};
Run Code Online (Sandbox Code Playgroud)
我希望c#4.0会有我错过的东西.
当需要更高级的东西时,我总是使用其中一个<br />或一个<div/>标签.
是否<p/>还鼓励使用标签?
假设我想删除具有特定文件扩展名的文件的任何映射路由.
RouteTable.Routes.Ignore("{root}.hello");
Run Code Online (Sandbox Code Playgroud)
适用.hello于在根目录中具有扩展名的任何文件,但是只要我进入任何子文件夹,就不会应用"忽略"规则.
我已经尝试了很多不同的组合,但似乎无法得到一个不会抛出编译器异常,或无法工作?
鉴于html:
<div class="a">
<div class="b">
<div class="c">
<div class="d">
</div>
</div>
<div class="d">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是a,当点击任何带有"d"类的元素时,选择应用了类的父元素.
我有以下javascript/jQuery,但它似乎非常凌乱.有更简洁的方式吗?
<script>
$('.d').click(function(){
var elementA = $(this).parentsUntil('.a').last().parent();
})
</script>
Run Code Online (Sandbox Code Playgroud) 是否可以使用对象将对象强制转换为所需类型System.Type??
我有一个搜索,普遍的共识是否定的,虽然我希望在C#4.0中引入一些可以帮助我的辅助工具.
即下面的内容不起作用,但伪代码就是我想要的.
object o = null;
var t = typeof(string);
...
string foo = (t)o;
Run Code Online (Sandbox Code Playgroud)
编辑:我需要XmlSerializer用来重建/反序列化为存储的类型t
根据标题,你使用什么样的字符串比较练习?为什么?
public class a{
public string x1 {get;set;}
public string x2 {get;set;}
public string x3 {get;set;}
}
public class b:a{
}
Run Code Online (Sandbox Code Playgroud)
显然 var foo = (b)new a();会在运行时抛出一个转换错误.
我可以考虑分配已经实例化和填充的所有属性的唯一方法a是手动将每个属性复制到新的实例中b.
它是否正确?
c# ×6
.net ×2
asp.net ×2
casting ×2
asp.net-mvc ×1
comparison ×1
enums ×1
html ×1
ienumerable ×1
javascript ×1
jquery ×1
layout ×1
linq ×1
markup ×1
routing ×1
static ×1
string ×1
tags ×1