小编Ram*_*Vel的帖子

为什么NSBundle bundleIdentifier是可选的?

只是想知道为什么NSBundle bundleIdentifier是可选的.

在此输入图像描述

有什么理由可以是零吗?

ios swift

7
推荐指数
3
解决办法
1041
查看次数

使用c#lambda的n个数的阶乘...?

我刚开始玩lambdas和Linq表达自学.我为此采取了简单的因子问题.在一个复杂的小场景中,找到给定n个数的阶乘(无需使用递归循环).

在我试过的代码下面.但这不起作用.

public void FindFactorial(int range)
{

    var res = Enumerable.Range(1, range).Select(x => Enumerable.Range(0, x).Where(y => (y > 1)).Select(y => y * (y-1)));            
    foreach (var outt in res)
        Console.WriteLine(outt.ToString());

}
Run Code Online (Sandbox Code Playgroud)

这是我使用的程序

  • 循环数字1到n - Enumerable.Range(1,range).
  • 选择每个数字x并再次循环它们x次(而不是递归)
  • 并选择其中(y =>(y> 1))大于1的数字并将其与(y-1)相乘

我知道我搞砸了某个地方.谁能告诉我什么是错的以及任何其他可能的解决方案.

编辑:

我打算让这个线程打开一段时间......因为这是我迈向lambda的最初步骤..我发现所有的答案都非常有用且信息丰富..而且它会变得有趣而且很好学习看到不同的接近方式这个问题.

c# linq lambda

6
推荐指数
3
解决办法
5741
查看次数

有没有办法在子类中隐藏部分方法?

这个问题看起来很奇怪,但我最近在一次采访中遇到了这个问题.

有人问过,c#中是否有一种方法可以将方法部分隐藏在继承的子类中?假设基类A,暴露4种方法.B类实现A,它只能访问前2个方法,而C类实现A只能访问最后2个方法.

我知道我们可以这样做

public interface IFirstOne
{
    void method1();        
    void method2();
}

public interface ISecondOne
{
    void method3();
    void method4();
}

class baseClass : IFirstOne, ISecondOne
{
    #region IFirstOne Members

    public void method1()
    {
        throw new NotImplementedException();
    }

    public void method2()
    {
        throw new NotImplementedException();
    }

    #endregion

    #region ISecondOne Members

    public void method3()
    {
        throw new NotImplementedException();
    }

    public void method4()
    {
        throw new NotImplementedException();
    }

    #endregion
}

class firstChild<T> where T : IFirstOne, new()
{
    public void DoTest() 
    { …
Run Code Online (Sandbox Code Playgroud)

c# inheritance interface

6
推荐指数
1
解决办法
645
查看次数

设计模式挫折

我是一名拥有4年.Net编码经验的开发人员,从不关心我的设计模式.最近我被要求接受IT部门的一位大佬的采访,已经完成了5轮(解决问题,配对编程,逻辑推理,2轮技术面试)的采访,并没有提供工作.

我从他们那里获得的反馈是不擅长设计原则,尽管他们对我的技术和逻辑推理技巧感到满意.这个让我觉得知道设计模式是解决问题的唯一方法吗?

虽然我从未在编码中使用过很多设计模式,但我总是试图实现OOPS的基本原理

我可以使用这些原则来设计一个松散耦合和开放的系统,以增强和易于维护.事实上,这些是所有设计模式的核心结构.

但我的问题是为正确的问题找到一个正确的模式.我知道只有阅读设计模式和实践中出版的所有书籍才能获得这些知识.这些知识伴随着构建不同系统的经验.

是否有任何用例可用于模式问题匹配 ..您对学习设计原则的建议是什么?

干杯

c# language-agnostic design-patterns

6
推荐指数
3
解决办法
762
查看次数

问题使用Mustache模板渲染骨干集合

我是骨干js和胡子的新手.我试图从rails json对象加载页面加载的主干集合(对象数组)以保存额外的调用.我正在使用胡子模板渲染骨干集合时遇到麻烦.

我的模特和收藏品

var Item =  Backbone.Model.extend({

});

App.Collections.Items= Backbone.Collection.extend({
    model: Item,
    url: '/items'
});
Run Code Online (Sandbox Code Playgroud)

并查看

App.Views.Index = Backbone.View.extend({
    el : '#itemList',
    initialize: function() {
        this.render();
    },

    render: function() {
        $(this.el).html(Mustache.to_html(JST.item_template(),this.collection ));
        //var test = {name:"test",price:100};
        //$(this.el).html(Mustache.to_html(JST.item_template(),test ));
    }
});
Run Code Online (Sandbox Code Playgroud)

在上面的视图渲染中,我可以渲染单个模型(注释的测试对象),但不能渲染集合.我完全被击中了,我尝试了下划线模板和小胡子,但没有运气.

这就是模板

<li>
<div>
  <div style="float: left; width: 70px">
    <a href="#">
      <img class="thumbnail" src="http://placehold.it/60x60" alt="">
    </a>
  </div>
  <div style="float: right; width: 292px">
    <h4> {{name}} <span class="price">Rs {{price}}</span></h4>
  </div>
  </div>
</li>
Run Code Online (Sandbox Code Playgroud)

而我的对象数组看起来像这样

在此输入图像描述

javascript jquery templates mustache backbone.js

6
推荐指数
2
解决办法
4961
查看次数

在c#中扩展Enumerable类?

我有条件扩展c#中的Enumerable类来添加接受长参数的新Range方法.我无法定义这样的方法

public static IEnumerable<long> Range(this Enumerable source, long start, long length)
{
    for (long i = start; i < length; i++)
    {
        yield return i;
    }
}
Run Code Online (Sandbox Code Playgroud)

由于扩展方法只能通过其对象访问.它给了我一个错误

'System.Linq.Enumerable':静态类型不能用作参数

我们可以澄清一下如何做到这一点

注意:我知道我们可以在没有扩展方法的情况下轻松解决这个问题,但我需要这个Enumrable类.

c# extension-methods static-classes

5
推荐指数
2
解决办法
3239
查看次数

圆十进制值最接近0.01?

可能重复:
c# - 如何将十进制值舍入到2个小数位(用于页面上的输出)

如何将十进制值舍入到最接近的0.05值?,链接的SO帖子也讨论了类似的主题,但它不是我预期的输出.

我需要像这样转换小数值

16.489-->16.49
16.482-->16.48
16.425-->16.43
7.67 --> 7.67 (no conversion)
Run Code Online (Sandbox Code Playgroud)

我可以使用下面的C#方法来转换值

  Math.Round(16.482*20)/20;
Run Code Online (Sandbox Code Playgroud)

但这种方法对我不起作用,它给出了以下结果

16.489-->16.5 
16.482-->16.5 
7.67 --> 7.7
16.425-->16.45 
Run Code Online (Sandbox Code Playgroud)

在c#中用优雅的方式来做到这一点.

c# numbers rounding

5
推荐指数
1
解决办法
1万
查看次数

如何从开放街道地图或谷歌地图中提取地理数据

我需要使用openstreet地图或谷歌地图检索特定国家/地区的所有城市名称.有没有可用的API?

或者有没有其他方法来获取这个世界地理数据?

language-agnostic google-maps geography openstreetmap

5
推荐指数
1
解决办法
5528
查看次数

如何从XML根元素中删除命名空间?

是否有一种从XML根元素中删除命名空间的简单方法.我试过了

[XmlRootAttribute("MCP", Namespace = "", IsNullable = false)]    
Run Code Online (Sandbox Code Playgroud)

在序列化类上.但没用.仍然得到相同的结果.

样本班

[Serializable]
[XmlRootAttribute("MCP", Namespace = "", IsNullable = false)]    
public class BINDRequest
{
    public BINDRequest()
    {

    }
    [XmlAttribute]
    public string CLIENT_REQUEST_ID { get; set; }

    public BINDRequestBody BIND { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

结果xml

<?xml version="1.0" encoding="utf-8"?>
<MCP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" CLIENT_REQUEST_ID="1">
  <BIND CLIENT_ID="test" PASSWORD="test" />
</MCP>
Run Code Online (Sandbox Code Playgroud)

我不明白那么在XmlRootAttribute中使用指定namsespace是什么意思?

c# xml-namespaces xmlserializer

5
推荐指数
1
解决办法
9158
查看次数

仅根据文件在lucene中出现更多术语来计算得分

我开始研究基于lucene.net引擎的简历检索(文档)组件.它工作得很好,它可以获取文档并根据文档对其进行评分

VSM背后的想法是,相对于该术语在集合中的所有文档中出现的次数,查询术语在文档中出现的次数越多,该文档与查询的相关性就越高.

Lucene的实用评分功能源于以下内容.

score(q,d)=coord(q,d)·queryNorm(q)· ?( tf(t in d) ·idf(t)2 · t.getBoost() · norm(t,d) ) 
                                  t in q
Run Code Online (Sandbox Code Playgroud)

在这

  • tf(t in d)与术语的频率相关,定义为术语t出现在当前得分文档中的次数d.具有更多特定术语的文档会获得更高的分数
  • idf(t)代表逆文档频率.该值与docFreq的倒数(术语t出现的文档数)相关.这意味着更罕见的术语对总分的贡献更高.

在大多数情况下,这确实非常棒,但由于现场规范计算,结果并不准确

fieldnorm aka"field length norm"值表示该doc中该字段的长度(因此较短的字段会自动提升).

由于这个原因,我们没有得到准确的结果.举个例子,我得到10000个文件,其中3000个文件有java和oracle关键字.并且每个文档看起来都没有变化.

  • 假设doc A在1000个单词中得到10个java 20 oracle,而doc B在50个单词中得到2个java 2 oracle
  • 如果我正在搜索"java和oracle"查询,则由于长度规范化,lucene返回高分的文档B.

由于业务的性质我们需要检索文件得到更多的搜索关键字出现应该先来,我们并不真正关心文件的长度.

因此,一个带有大量关键字的简历的Guy在结果中被移到了下面,并且出现了一些小的简历.

为了避免这种情况,我需要禁用长度标准化.有人可以帮我弄这个吗??

我附上了Luke结果图片供您参考.

在此图像中,使用java 50次和oracle 6次的文档向下移动到第11位.

替代文字

但是这个带有java 24次和oracle 5次的文档因为fieldnorm而成为最佳射手.

替代文字

希望我清楚地传达信息......如果不是,请问我,我会提供更多信息

c# java lucene search lucene.net

5
推荐指数
1
解决办法
1397
查看次数