Questions tagged «casting»

强制转换是一个过程,其中如果允许转换,则将对象类型显式转换为另一种类型。此过程可能会导致价值变化。

18
在CLR中投放与使用'as'关键字
在对接口进行编程时,我发现我正在做大量的转换或对象类型转换。 这两种转换方法之间有区别吗?如果是这样,是否存在成本差异,或者这对我的计划有何影响? public interface IMyInterface { void AMethod(); } public class MyClass : IMyInterface { public void AMethod() { //Do work } // Other helper methods.... } public class Implementation { IMyInterface _MyObj; MyClass _myCls1; MyClass _myCls2; public Implementation() { _MyObj = new MyClass(); // What is the difference here: …
386 c#  casting  clr 

30
如何在PHP中将数组转换为对象?
我如何将这样的数组转换为对象? [128] => Array ( [status] => Figure A. Facebook's horizontal scrollbars showing up on a 1024x768 screen resolution. ) [129] => Array ( [status] => The other day at work, I had some spare time )
367 php  arrays  object  casting 

13
即使没有空检查,使用“ as”代替强制转换是否有意义?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在开发博客,在线代码示例,以及(最近)甚至是一本书中,我一直对类似的代码code之以鼻: var y = x as T; y.SomeMethod(); 或更糟糕的是: (x as T).SomeMethod(); 这对我来说没有意义。如果您确定x类型为T,则应使用直接强制转换:(T)x。如果不确定,可以使用as但需要检查null后再执行某些操作。上面的代码所做的就是将(有用的)InvalidCastException变成(无用的)NullReferenceException。 我是唯一认为这是公然滥用as关键字的人吗?还是我错过了明显的事情,而上述模式确实有意义?




20
如何将字符串转换为布尔PHP
如何将字符串转换为boolean? $string = 'false'; $test_mode_mail = settype($string, 'boolean'); var_dump($test_mode_mail); if($test_mode_mail) echo 'test mode is on.'; 它返回 布尔值true 但应该如此boolean false。
318 php  string  casting  boolean 

12
C#:'is'关键字并检查是否为Not
这是一个愚蠢的问题,但是您可以使用此代码来检查某物是否为特定类型... if (child is IContainer) { //.... 有没有更优雅的方法来检查“ NOT”实例? if (!(child is IContainer)) { //A little ugly... silly, yes I know... //these don't work :) if (child !is IContainer) { if (child isnt IContainer) { if (child aint IContainer) { if (child isnotafreaking IContainer) { 是的,是的...愚蠢的问题... 因为对代码的外观存在一些疑问,所以这只是方法开始时的简单返回。 public void Update(DocumentPart …
287 c#  casting  keyword 



7
从PostgreSQL的时间戳中提取日期(yyyy / mm / dd)
我只想从PostgreSQL的时间戳中提取日期部分。 我需要它是一个postgresql DATE类型,因此我可以将它插入另一个需要DATE值的表中。 例如,如果我有2011/05/26 09:00:00,我想要2011/05/26 我尝试过投放,但只得到2011年: timestamp:date cast(timestamp as date) 我尝试to_char()了to_date(): SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD') FROM val3 WHERE id=1; 我试图使其功能: CREATE OR REPLACE FUNCTION testing() RETURNS void AS ' DECLARE i_date DATE; BEGIN SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD") INTO i_date FROM exampTable WHERE id=1; INSERT INTO foo(testd) VALUES (i); END 从PostgreSQL的时间戳中提取日期(yyyy / …

10
整数除法:您如何产生双倍?
对于此代码块: int num = 5; int denom = 7; double d = num / denom; 的值d就是0.0。它可以通过强制转换来工作: double d = ((double) num) / denom; 但是还有另一种方法来获得正确的double结果吗?我不喜欢强制转换基元,谁知道会发生什么。


6
从List <X>转换为List <Y>的语法较短吗?
我知道可以一次将一种类型的项目列表转换为另一种类型(假设您的对象具有公共静态显式运算符方法进行转换),如下所示: List&lt;Y&gt; ListOfY = new List&lt;Y&gt;(); foreach(X x in ListOfX) ListOfY.Add((Y)x); 但是不可能一次投射整个列表吗?例如, ListOfY = (List&lt;Y&gt;)ListOfX;
237 c#  list  casting  ienumerable 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.