object和其他类型装换的问题

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
        class A
        {
            public int a = 2;
            public void f(object obj)
            {
                Console.WriteLine("{0}", obj);//这儿不需要强制转换的
                Console.WriteLine("{0}", (int)obj);
            }
            public static void f1(object obj)
            {   A A2=(A)obj;//这儿必须强制转换的,否则见下图
                Console.WriteLine("{0}", A2.a);
            }

        }

        class Program
        {
            static void Main(string[] args)
            {
                int b = 3;
                A A1 = new A();
                A1.f(b);
                A.f1(A1);
                Console.ReadLine();

            }
        }
    }
    //任何类型的值都可以被隐式转换为object类型!(装箱操作)
时间: 2024-11-01 09:06:21

object和其他类型装换的问题的相关文章

原生函数和强制类型装换

var a = new String("abc"); console.log(typeof a); //是Object,而不是string 使用new String("abc"); 创建的是字符串 abc 的封装对象,而不是基本类型值"abc". 封装对象 由于基本类型值没有.length和.toString()这样的属性和方法,需要通过封装对象才能访问,此时JavaScript会自动为基本类型值包装一个封装对象,如: var a = "

类型装换问题

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class A { } class B:A { } class Program { static void Main(string[] args) { B objb = new B(); A obja = objb;//隐式转换为A类型 //B objb1 = o

C++中四种类型装换

1.类型转换   static_cast<>():静态类型转换,编译时C++编译器会做类型检查,在C语言中,隐式类型转换的地方,均可以使用static_cast<>()进行类型转换:   reinterpret_cast<>():强制类型转换;编译器重新解释:   dynamic_cast<Cat *>(base):父类对象===>子类对象,向下转型,一般用在继承中:   const_cast<>():const char *--->

DataSet装换为泛型集合 222

#region DataSet装换为泛型集合 /// <summary> /// 利用反射和泛型 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static List<T> ConvertToList<T>(DataTable dt) { // 定义集合 List<T> ts

c#中时间戳和日期的相互装换

时间戳转换为日期: /// <summary> /// 将时间戳转换为datetime类型 /// </summary> /// <param name="yn"></param> /// <returns></returns> public DateTime GetTime(int now) { string timeStamp = now.ToString(); DateTime dtStart = TimeZ

装换器

装换器: 有时须要给 URL 添加一定规则,进行限制路由的形式. 规则可以用 <converter:variable_name> 指定一个可选的转换器  ,参数1:转换器类型,  参数2 :传过来的变量 1  Flask自带的转换器 DEFAULT_CONVERTERS = { 'default': UnicodeConverter,(字符串与2同) 'string': UnicodeConverter, 'any': AnyConverter, 匹配any中存在的地址 'path': Pat

opencv之深拷贝及浅拷贝,IplImage装换为Mat

一.(1)  浅拷贝: Mat B; B = image  // 第一种方式 Mat C(image); // 第二种方式 这两种方式称为浅copy,是由于它们有不同的矩阵头,但是它们共享内存空间,即指向一个矩阵.当图像矩阵发生变化时,两者相关联,都会变化. (2)深拷贝 Mat B,C; B = image.clone();       // 第一种方式 image.copyTo(C); // 第二种方式 深拷贝是真正的copy了一个新的图像矩阵,此时image,B,C三者相互没有影响. 二.

oracle中的装换函数

日期装换成字符的函数:TO_CHAR(date[,fmt[,params]]) 默认格式:DD-MON-RR 参数说明: date:将要装换的日期 fmt:装换的格式 params:日期的语言(可以不写)例子: SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; TO_CHAR(SYSDATE,'YY ------------------- 2016-04-21 07:55:54 字符型转换成日期的函数: TO_DATE

Conversion of feet/inches to meters-英尺、英里装换为米

Conversion of feet/inches to meters-英尺.英里装换为米,允许重复计算: //Conversion of feet/inches to meters-英尺.英里装换为米,允许重复计算 #include<iostream> #include<cmath> using namespace std; void get_input(double& feet,double& inch); double convert(double&