面向对象中,自变量是指在流程中一般来说维持不变的值。C#词汇提供更多三种自变量类型:const和readonly。尽管两者促进作用相近,但在这类各方面又存有许多差别。

具体来说,const表头根本无法在该表头的新闻稿中调用,而readonly表头能在新闻稿或缺省中调用。因而,在采用完全相同的缺省调用时,readonly表头可能将具备完全相同的值,而const表头则仍旧具备完全相同的值。
其二,const表头是校对时物理量,换句话说,在校对前夕就早已确认了它的值,因而,它根本无法包涵直链类型(如int, double等)或隐式类型的物理量。而readonly表头可用作运转时物理量,这意味著它是在运转时确认的,因此能包涵任何人类型的物理量,主要包括提及类型。

最终,const对提及类型的物理量,可能将的值根本无法是string和null,而readonly能是任何人类型。这原因在于在C#中,数组自变量是提及类型,所以它在校对前夕被增设为原初字符串,因而根本无法被增设为string类型,而readonly则能被增设为任何人提及类型。
除以内以下几点以外,除了两个须要特别注意的是,const表头能用作switch句子中的自变量函数,而readonly则无法。即使readonly表头的值在运转时就可以确认,而switch句子须要在校对前夕确认自变量函数的值。

综上所述,const和readonly尽管都是自变量,但它在采用中有许多明显的差别。const适用作在校对前夕就已知的自变量,而readonly则适用作在运转时就可以确认的自变量。此外,由于const表头根本无法包涵直链类型或隐式类型的物理量,因而在这类情况下根本无法采用readonly表头。