public static int GetResult<TType>(TType aObject) {
if(aObject.mValue==12)
return 99;
return 20;
}
Run Code Online (Sandbox Code Playgroud)
我如何检查TType的字段mValue,我猜测反射可能会进入此,但我不确定如何?
谢谢.
下面代码中的注释中陈述的整个数组的大小和语句是否正确?
//gArray uses sizeof(char)*100 = 1*100 = 100 bytes.
char gArray[100];
//gArray uses sizeof(char)*100*50 = 1*100*50 = 5000 bytes.
char gArray[100][50];
//gArray is a 2D array, each element is a pointer to a char (although
//char data type is irrelevant).
//gArray uses sizeof(void*)*100*50 = (4 or 8) * 100 * 50 = 20000 or 40000 bytes.
char* gArray[100][50];
Run Code Online (Sandbox Code Playgroud)
谢谢.
字符串'008'有什么特别之处,那些会导致类型杂乱(因为没有更好的单词)失败的东西会更高?008以下的所有编号字符串都可正常工作,008或更高的任何字符串似乎都不等于数字?
更确切地说,似乎比较007,008和009是问题所在,PHP不计算像008这样的整数吗?
$MyString='007'; //Works fine.
$MyString='008'; //Fails.
$MyString='009'; //Fails.
if($MyString==007) return 'ABC';
if($MyString==008) return 'DEF';
if($MyString==009) return 'GHI';
Run Code Online (Sandbox Code Playgroud) 考虑下面的代码,第一次调用AcceptType1编译好,但第二次调用AcceptType1(XYZ);失败.具体错误是:
错误CS0119'XYZ'是一种类型,在给定的上下文中无效
我不理解错误消息背后的细节,从而我无法理解为什么第二次调用失败,如果它XYZ是一个AcceptType1接受的类型.如果XYZ是一个类型,那么为什么需要再调用typeof?
public class XYZ
{
}
public class Tester
{
public void RunTest()
{
AcceptType1(typeof(XYZ));
AcceptType1(XYZ);
}
private void AcceptType1(Type t)
{
Console.WriteLine(t.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)