小编Cie*_*iel的帖子

LINQ - 拆分最大长度的字符串,但不要分开单词

我有一个简单的LINQ扩展方法...

    public static IEnumerable<string> SplitOnLength(this string input, int length)
    {
        int index = 0;
        while (index < input.Length)
        {
            if (index + length < input.Length)
                yield return input.Substring(index, length);
            else
                yield return input.Substring(index);

            index += length;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这需要一个字符串,并将其切换为不超过给定长度的字符串集合.

这很好 - 但我想进一步.它将文字分成两半.我不需要它来理解任何复杂的东西,我只是希望它能够在早期切断一个字符串,如果切割它将在length文本中间切割(基本上任何不是空白的东西).

但是我很害怕LINQ,所以我想知道是否有人知道如何解决这个问题.我知道我要做什么,但我不知道如何处理它.

所以我要说我有以下文字.

这是我将通过字符串拆分器传递的示例文本块.

我称这种方法SplitOnLength(6) 我会得到以下内容.

  • 这个我
  • sa sa
  • mple b
  • 锁定o
  • f文字
  • 通过
  • hrough
  • s
  • 特林
  • splitt
  • 呃.

我宁愿它足够智能停下来看起来更像..

  • 这个
  • 是一个
  • 样品

//糟糕的例子,因为单个单词超过了最大长度,但在实际场景中长度会更大,接近200.

谁能帮我?

c# linq

8
推荐指数
1
解决办法
3114
查看次数

CSS中的特殊反向级联

我有一种情况,我的CSS应用的样式不适用于被样式化的对象.这是我的site.css文件中的确切代码...

.rules aside {  
    width: 270px;  
    right: 0px; 
    top: 0px; 
    float: left;
}

.rules aside h3 { 
    border-bottom-width: 2px; 
    border-bottom-style: solid; 
    border-bottom-color: #2A2A2A; 

    padding-bottom: 6px; 
    padding-top: 11px; 

    margin-bottom: 0px; 

    color: #F0E29A; 
    font-size: 14px; 
    letter-spacing: -0.5px; 
    text-transform: uppercase; 
}
Run Code Online (Sandbox Code Playgroud)

现在这里有一些利用它的HTML ......

<article class="content rules">
   <section>
   // ...
   </section>
   <aside>
     Some Content
   </aside>
</article>
Run Code Online (Sandbox Code Playgroud)

这是Chrome的Inspector为<aside>元素显示的CSS标记.

.rules aside {
border-bottom-width: 2px;
border-bottom-style: solid;
border-bottom-color: #2A2A2A;
padding-bottom: 6px;
padding-top: 11px;
margin-bottom: 0px;
color: #F0E29A;
font-size: 14px;
letter-spacing: -0.5px;
text-transform: uppercase; …
Run Code Online (Sandbox Code Playgroud)

html css google-chrome

8
推荐指数
1
解决办法
732
查看次数

IE9不接受标准的jQuery语法

这真的很简单.我有以下代码..它适用于所有其他html5兼容浏览器(Safari 5,Chrome 9,FireFox),但在IE9(RC)中我收到以下错误.

jquery.min.js

行:16错误:对象不支持属性或方法'getElementsByTagName'

jQuery的ui.min.js

行:40错误:对象不支持属性或方法'tabs'

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script>

    <script type="text/javascript">
        $(function () {
            $("#ribbon").tabs();
        });
    </script>
</head>
<body>
    <header>
        <span id="branding"></span>
        <div id="ribbon-navigation">
        <div id="ribbon">
    <ul>
        <li><a href="#ribbon-1">1</a></li>
        <li><a href="#ribbon-2">2</a></li>
        <li><a href="#ribbon-3">3</a></li>
        <li><a href="#ribbon-4">4</a></li>
    </ul>
    <div id="ribbon-1" class="ribbon-strip">
        @Html.Partial("Menus/Ribbons/__H1")
    </div>
    <div id="ribbon-2" class="ribbon-strip">
        @Html.Partial("Menus/Ribbons/__2")
    </div>
    <div id="ribbon-3" class="ribbon-strip">
        @Html.Partial("Menus/Ribbons/__3")
    </div>
    <div id="ribbon-4" class="ribbon-strip">
        @Html.Partial("Menus/Ribbons/__4")
    </div>
</div>
        </div>
    </header>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我能理解我的CSS是不是产生了正确的样式 - 但看起来它完全忽略了$("#ribbon").tabs();所有.有任何想法吗?

jquery html5 jquery-ui internet-explorer-9

8
推荐指数
1
解决办法
8381
查看次数

Ninject忽略[Inject]属性

我有这样的Ninject和NHibernate的设置.现在,如果我有这个场景..

class HomeController : Controller
{
 [Inject]
 public ISession Session { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

这工作正常.

但如果我再上一堂课......

class QueryObject
{
 [Inject]
 public ISession Session { get; set; }
}

// .. somewhere else in my program.
var test = new QueryObject().Execute();
Run Code Online (Sandbox Code Playgroud)

ISession无效!这不仅仅是ISession,它是我尝试注入的任何东西.

这是我的SessionModule:

public class SessionModule : Ninject.Modules.NinjectModule
{
    private static ISessionFactory sessionFactory;

    public override void Load()
    {
        Bind<ISessionFactory>()
            .ToMethod(c => CreateSessionFactory())
            .InSingletonScope();

        Bind<ISession>()
            .ToMethod(c => OpenSession())
            .InRequestScope()
            .OnActivation(session =>
            {
                session.BeginTransaction();
                session.FlushMode = FlushMode.Commit;
            })
            .OnDeactivation(session =>
            {
                if …
Run Code Online (Sandbox Code Playgroud)

ninject

8
推荐指数
2
解决办法
4012
查看次数

ASP.NET MVC - 在不重写方法的情况下扩展TextBoxFor

有没有办法在输出上使用扩展方法扩展基本的html助手(TextBoxFor,TextAreaFor等),而不是仅仅重写整个方法?例如,添加...

@Html.TextBoxFor( model => model.Name ).Identity("idName")

我知道我可以使用以下内容实现这一点,已经......

@Html.TextBoxFor( model => model.Name, new { @id = "idName" })

但是,当您必须开始添加大量属性时,管理变得笨拙和令人沮丧.是否有任何方法可以为这些内容添加扩展而无需传递htmlAttributes每一个细节?

asp.net-mvc-3

8
推荐指数
2
解决办法
7179
查看次数

C#,是否可以将嵌套类用于逻辑结构?

关于嵌套类的使用,我有一些争论.情况是类名在两个或多个地方重复是有意义的,虽然每个不同实例之间存在中度相似性,但它们通常是不同的.嵌套类通常不需要(如果有的话)超出其父类的范围.

那么,这似乎对我来说更有意义,而不仅仅是提出三个不同的类名.

class A {
   class B {
}

class M {
   class B {
   }
}

class Q {
   class B {
   }
}
Run Code Online (Sandbox Code Playgroud)

显而易见的问题不是功能,而是一致性/重复性.我想知道其他开发人员是否曾经遇到过同样的问题,以及一些意见是什么.

c# design-patterns

8
推荐指数
1
解决办法
1518
查看次数

ToDictionary无法按预期工作

鉴于以下代码,我无法返回字典.

[JsonProperty]
public virtual IDictionary<Product, int> JsonProducts
{
    get
    {
        return Products.ToDictionary<Product, int>(x => x.Key, v => v.Value);
    }
}

public virtual IDictionary<Product, int> Products { get; set; }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误..

'System.Collections.Generic.IDictionary'不包含'ToDictionary'的定义和最佳扩展方法重载'System.Linq.Enumerable.ToDictionary(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic .IEqualityComparer)'有一些无效的参数

无法从'lambda表达式'转换为'System.Func'

无法从'lambda expression'转换为'System.Collections.Generic.IEqualityComparer

Product类没有什么特别之处.它被简单地定义为

class Product 
{
    public virtual int Id { get; set; }
    public virtual String Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# linq

7
推荐指数
1
解决办法
6028
查看次数

PostAuthenticateRequest的开销是多少?

我正在使用Application_PostAuthenticateRequest我的global.asax文件(ASP.NET MVC)中的方法实现自定义票证系统.我想知道这种事情的开销是多少 - 因为它会在每个请求上反序列化一些信息.它生成一个大约1.8 kb的cookie,这是一吨 - 但这是一个比频繁的数据库旅行更好的选择吗?

信息被反序列化

  • 用户ID(int)
  • 角色(字符串[])
  • 电邮(字符串)
  • 关联的ID(int [])//(很难描述这些是什么,但每个用户将有大约3个)

实现自定义FormsAuthenticationTicket系统似乎比继续基于数据库的往返更加智能User.Identity.Name.但我只是担心这种持续的反序列化非常具有抑制性.但它看起来像这样......

    protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
    {
        HttpCookie authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

        if (authCookie != null)
        {
            string encTicket = authCookie.Value;

            if (!String.IsNullOrEmpty(encTicket))
            {
                // decrypt the ticket if possible.
                FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(encTicket);

                var userData = Deserializer.Deserialize(ticket);
                UserPrincipal principal = new UserPrincipal(userData);

                HttpContext.Current.User = principal;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

这里是正在连载的类UserDataFormsAuthenticationTicket.

[Serializable]
public class MembershipData
{ …
Run Code Online (Sandbox Code Playgroud)

c# performance forms-authentication asp.net-mvc-3

7
推荐指数
2
解决办法
4563
查看次数

部署后处理nHibernate/Fluent nHibernate中的架构更新

在编写一个在Fluent Nhibernate/Nhibernate上运行的应用程序时,我有点担心.我想这对于任何ORM都是如此(甚至没有使用ORM),但是......我猜这个词是'研究领域',它与部署后更新数据库的最佳实践和方法有关?

在nHibernate中,我建立一个SessionFactory并进行初始运行,根据映射将数据库写出来.这很好,我甚至可以手动编写数据库.但是当我的客户回来并想要添加新内容时呢?我可以在不丢失数据的情况下附加到数据库吗?我对这一切都是全新的,自从这个项目开始以来一直困扰着我,我真的不知道要采取什么方向来确保我可以在部署之后管理该程序.

我已经查看了关于这个主题的其他堆栈溢出问题 - 其中一个甚至没有接受的答案(虽然问题本身有点模糊),但我确实发现了这个工具http://www.red -gate.com/products/sql-development/sql-compare/来自问题 工具部署后升级SQL Express数据库虽然我想知道"策略"有多好.

c# sql nhibernate fluent-nhibernate

7
推荐指数
1
解决办法
4866
查看次数

Fluent nHibernate中的.Fetch.Select()是什么?

虽然与功能NHibernate发展,我注意到在我的关系可以指定一个Fetch属性,有可能的选择Select(),Join()Subselect().

我做了一些搜索,得到的信息非常少.我确实在nHibernate文档和流畅的nHibernate文档中找到了它们,但除了给出它们的签名之外别无其他,这对我没什么帮助.

我想知道是否有任何真正的解释,这些是什么,以及他们真正做了什么.我自己一直很困惑.根据我自己的评估,它们似乎改变了引用实体被拉入对象图的方式,但我还没有完全辨别出它们是如何改变的,哪一个对于什么情况是最佳的......

我确实找到了这篇博文(http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/),其中有一些细节,但我仍然对整个情况感到非常困惑.我还看到了其他的例子,状态使用Select()是更优化的,但背后的原因.另外,我在(http://community.jboss.org/wiki/AShortPrimerOnFetchingStrategies)发现了一个面向原始Java Hibernate平台的帖子,但我认为这个概念是相同的.在这一篇中,我的理论似乎有点夸张,因为它更多地关注他们所做的懒惰加载方面,但我还没有看到任何真正平坦的例子.

nhibernate fluent-nhibernate

7
推荐指数
2
解决办法
7036
查看次数