我怎样才能找出某些variables持有的数据types? (如int,string,char等) 我现在有这样的东西: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Testing { class Program { static void Main() { Person someone = new Person(); someone.setName(22); int n = someone.getName(); Console.WriteLine(n.typeOf()); } } class Person { public int name; public void setName(int name) { this.name = name; } public int getName() { return this.name; […]
假设我们有这两个类: public class Derived : Base { public Derived(string s) : base(s) { } } public class Base { protected Base(string s) { } } 如何从Base的构造函数中发现Derived是调用者? 这就是我想到的: public class Derived : Base { public Derived(string s) : base(typeof(Derived), s) { } } public class Base { protected Base(Type type, string s) { } } 有没有另外一种方式,不需要传递typeof(Derived) […]
我需要使用@ font-facefunction,我的字体是OTF / TTF格式,Microsoft浏览器只支持EOT格式。 我试图使用微软工具WEFT,但它没有工作,或者我不明白它是如何工作的。 有没有其他的方法来将我的字体转换为EOT格式?
可能重复: Java的接口和Haskell的types类:差异和相似之处? 当我开始学习Haskell时,我被告知types类比接口更强大/不同。 一年以后,我已经广泛地使用了接口和types类,我还没有看到一个例子或解释,他们是如何不同。 这不是一个自然而然的启示,我错过了一些显而易见的事实,或者实际上并没有真正的区别。 search互联网并没有带来任何实质性的进展。 所以呢,你有答案吗?
考虑下面的代码: float d = 3.14f; int i = 1; auto sum = d + i; 据cppreference.com , i应该被转换为float时,它被添加到d 。 但是,当我真正运行代码时,我发现sum是4.为什么会发生这种情况? 有趣的是,当我明确地把我的编译器变成C11模式时,我发现sum是4.14。 C11标准的哪些改变会影响结果? 如果我使用C ++编译器编译相同的代码会发生什么?
从乍一看,它会出现我有两个基本的select存储邮政编码在数据库表中: 文本(可能是最常见的),即char(5)或varchar(9)来支持+4扩展名 数字,即32位整数 如果我们假设没有国际关注的话,两者都能满足数据的要求。 过去我们通常只是走文字路线,但我想知道是否有人做相反的事情? 仅仅从简单的比较看来,整数方法有两个明显的优点: 就其本质而言,它只能自动地限于数字(而没有validation,文本样式可以存储字母,而且据我所知,这些字母在邮政编码中是无效的)。 这并不意味着我们可以/将/应该放弃validation用户input正常,但! 占用4个字节(即使是9位邮政编码也应该足够多),而不是5或9个字节。 另外,它似乎不会伤害显示输出很多。 在数字值上打一个ToString()是很简单的,使用简单的string操作为+4扩展插入一个连字符或空格,或者使用string格式来恢复前导零。 有没有什么会阻止使用int作为美国邮政编码的数据types?
按照Bathsheba的要求,并作为“如果枚举不能整合到一个types中会发生什么?”的后续问题。 : 假设一个枚举定义如下: enum foo : unsigned int { bar = UINT_MAX, oops }; oops的价值是定义的还是不是? MSVS2015编译: warning C4340: 'oops': value wrapped from positive to negative value warning C4309: 'initializing': truncation of constant value warning C4369: 'oops': enumerator value '4294967296' cannot be represented as 'unsigned int', value is '0' MSVS2015输出: bar = 4294967295 oops= 0 gcc […]
我正在使用一个我声明为Integer的variables,并发现>不是Integer的成员。 这是一个简单的例子: scala> i warning: there were deprecation warnings; re-run with -deprecation for details res28: Integer = 3 scala> i > 3 <console>:6: error: value > is not a member of Integer i > 3 ^ 将它与一个Int进行比较: scala> j res30: Int = 3 scala> j > 3 res31: Boolean = false Integer和Int有什么区别? 我看到了这个弃用警告,但是我不清楚为什么它被弃用,并且因为这个原因,为什么它没有方法。
例如,比方说,我想为Python的字典types添加一个helloWorld()方法。 我可以这样做吗? JavaScript有一个这样的原型对象。 也许这是不好的devise,我应该子类的字典对象,但它只能在子类上工作,我希望它在任何和所有未来的字典工作。 下面是在JavaScript中下载的方式: String.prototype.hello = function() { alert("Hello, " + this + "!"); } "Jed".hello() //alerts "Hello, Jed!" 这里有一个有用的链接更多的例子, http://www.javascriptkit.com/javatutors/proto3.shtml
我正在通过我的vim dotfiles来整理它们。 我注意到,通过时间我已经以各种不一致的方式添加了各种文件types的具体设置。 假设我正在为Python定制: au BufRead,BufNewFile *.py (do something) 。 我不喜欢这个,因为一些Python文件可能没有.py终止。 au FileType python (do something) 。 这似乎是一个更好的select,因为它不依赖于具有.py终止的文件。 缺点是Vim不知道一些文件types。 我可以让Vim识别附加的文件types,但是我也有各种不一致的方法: .vim/filetype.vim文件,另外一个在.vim/after/filetype.vim以及.vimrc各种set filetype命令。 添加一个.vim/ftplugin/python.vim文件,具有文件types特定的设置。 我知道$VIMRUNTIME/ftplugin/python.vim可以覆盖我在这里设置的任何设置。 一个问题是,我不知道这是如何与.vim/filetype.vim和.vim/after/filetype.vim交互。 添加一个.vim/after/ftplugin/python.vim 。 我知道这是$VIMRUNTIME/ftplugin/python.vim之后加载,所以它可以覆盖那里的设置。 和前面的方法一样,我不确定它如何与filetype.vim文件交互。 所以我至less有四种方法来做这个,而不是提到语法文件和文件types特定的插件。 在我看来,最好的办法是将我的文件types特定的设置放在after/ftplugin这样它们不会被覆盖,而filetypes.vim也会出于同样的原因。 但是,在我继续之前,我想问问任何人是否有处理文件types特定设置的最佳方法的build议。