我有一个模型列表,我想组织成一个散列表,其中枚举作为键,模型列表(具有枚举值)作为值.
public enum MyEnum
{
    Blue,
    Green
}
public class MyModel
{
    public MyModel(MyEnum myEnum, string foo, int bar)
    {
        this.MyEnum = myEnum;
        this.Foo = foo;
        this.Bar = bar;
    }
    public MyEnum MyEnum { get; set; }
    public string Foo { get; set; }
    public int Bar { get; set; }
}
List<MyModel> models = new List<MyModel>();
models.Add(new MyModel(MyEnum.Blue, "How", 1));
models.Add(new MyModel(MyEnum.Green, "Now", 2));
models.Add(new MyModel(MyEnum.Blue, "Brown", 3));
models.Add(new MyModel(MyEnum.Green, "Cow", 4));
Run Code Online (Sandbox Code Playgroud)
将列表转换为看起来像这样的哈希表的最简单方法是什么(原谅json):
{ 
   Blue:
   [
      { …Run Code Online (Sandbox Code Playgroud) 将字符串转换为数字和/或字母串,然后反向工程到原始字符串的最快和最佳性能方法是什么.类似于将字符串转换为哈希码,但这是单向转换.我需要一种双向方法.我正在创建一个简单的网址短片服务,我不想处理数据库.
我通过私钥考虑了MD5加密/解密,但我想还有另外一种可能在性能上更好的方法.
如果加密/解密是要走的路,那么处理器上哪个最容易?
谢谢!
我正在使用Orchard 1.4启用多租户.今天早上我添加了一个新租户,名字以4号"4wdcarsandtrucks"开头.好吧,在创建新租户后,我的所有网站都开始抛出404错误.查看日志,我发现每个帐篷都有以下条目:
2012-05-20 08:59:22795 [6] Orchard.Environment.DefaultOrchardHost - 租户不能启动:默认System.Xml.XmlException:名称不能与"4"的字符,十六进制值0x34开始.线16,在System.Xml.XmlTextReaderImpl.ParseQName(布尔isQName,的Int32开始偏移,的Int32&colonPos)在System.Xml.XmlTextReaderImpl.ParseElement(在System.Xml.XmlTextReaderImpl.Throw位置4(字符串RES,字串[] args) )在System.Xml.XmlTextReaderImpl.ParseElementContent()在System.Xml.XmlLoader.LoadNode(布尔skipOverWhitespace)在System.Xml.XmlLoader.LoadDocSequence(XmlDocument的parentDoc)在System.Xml.XmlDocument.Load(的XmlReader读取器)在系统. Xml.XmlDocument.LoadXml(字符串XML)在Orchard.Environment.Descriptor.ShellDescriptorCache.Fetch(字符串名称)在C:\ SRC\XXXXXX \主\ DOTNET\PUBLIC \果园\ v1.4.1.0\SRC \果园\环境\描述符\ ShellDescriptorCache.cs:线53在Orchard.Environment.ShellBuilders.ShellContextFactory.CreateShellContext(ShellSettings设置)在C:\ SRC\XXXXX \主\ DOTNET \公共\果园\ v1.4.1.0\SRC \果园\环境\ ShellBuilders\ShellContextFactory.cs:位于C:\ src\xxxxx的Orchard.Environment.DefaultOrchardHost.CreateAndActivateShells()中的第54行 x\main\dotnet\public\Orchard\v1.4.1.0\src\Orchard\Environment\DefaultOrchardHost.cs:第135行
根据手动删除帐篷的说明,我删除了App_Data\Sites中的站点文件夹,问题仍然存在.
我在果园根文件夹下搜索了"4wdcarsandtrucks"并在Media中找到了另一个文件夹.随着删除,租户名称的唯一剩余痕迹,问题仍然存在.我已经回收了应用程序池并重新启动了该站点.太奇怪了!
有没有人遇到这个问题或有任何建议吗?
过去几天我一直在网上寻找解决方案,而且我找不到多少.希望我没有使用正确的术语,这是一件容易的事情.
我想使用如下路径:
/{projectId}
Run Code Online (Sandbox Code Playgroud)
并且在生命周期的早期某处可以访问路径值字典,我可以查询数据库或会话对象以获取用于此请求的控制器名称.然后,能够指定要使用的控制器,   route.Values["controller"] = controllerName;并通过该控制器与请求参数的所有爵士乐等进行请求.
可能吗?
我目前正在使用区域,并且有以下路径:
/ProjectType1/{projectId}
/ProjectType2/{projectId}
Run Code Online (Sandbox Code Playgroud)
但是我觉得处理所有人的领域Html.Link并且讨厌为每个项目类型定义新区域真的很头疼.我很想找到更有活力的东西.
model-view-controller asp.net-mvc asp.net-mvc-routing asp.net-mvc-areas
public class Unicorn
{
    public List<int> Numbers { get; set; }
}
unicorns.Add(new Unicorn() { Numbers = {1, 2, 3} } );
unicorns.Add(new Unicorn() { Numbers = {4, 5, 6} } );
unicorns.Add(new Unicorn() { Numbers = {7, 8, 9} } );
Run Code Online (Sandbox Code Playgroud)
c#4中最有效的方法是将所有列表连接成一个{1,2,3,4,5,6,7,8,9}列表?
优选地(理想地;优选地;如果有人选择的话)没有循环和Linq-less.我用.FindAll修补了,但它并没有挖掘它.