Skip to Content
プログラミングC# 第8版
book

プログラミングC# 第8版

by Ian Griffiths, 木下 哲也, 鈴木 幸敏
June 2021
Intermediate to advanced
800 pages
13h 5m
Japanese
O'Reilly Japan, Inc.
Content preview from プログラミングC# 第8版

2.5 基本的なデータ型

 .NETでは、クラスライブラリに多くの型が定義されていて、さらに自分で新たに定義することもできるので、C#では無限の数のデータ型を扱うことができます。しかし、一部の型はコンパイラによって特別扱いされます。例2-9で示したように、文字列に数値を加算すると、数値を文字列に変換してから最初の文字列に付け加えます。実際には、数値に限らず、他のデータ型も同様に扱われます。コンパイルされたコードでString.Concatメソッドが呼び出されていて、文字列以外の引数がこのメソッドに渡されるとその引数のToStringメソッドが呼び出されてから連結されます。すべての型がToStringメソッドを持っているので、文字列にあらゆる型の値を追加できます。

 この機能は便利ですが、それは文字列がC#コンパイラによって識別され、特別扱いされているからです(このような+演算子特有の文字列処理はC#仕様で定義されています)。C#では、文字列に限らず、特定の数値データ型、ブール型、タプルと呼ばれる種類の型、およびdynamicobjectという2つの特殊型にもさまざまな特別な処理が行われます。そのほとんどはC#だけでなくランタイムにとっても特別でもあり、(BigIntegerを除く)ほぼすべての数値型が中間言語(IL:Intermediate Language)で直接サポートされており、ランタイムはbool型、string型、object型をあらかじめ識別できるようになっています。

2.5.1 数値型

 C#は整数と浮動小数点をサポートしています。表2-1に示すように、整数型は、符号付きと符号なしに加えて、サイズもさまざまです。最も一般的に使う整数型はintです。その理由は、実用的な範囲の値を表せるだけのサイズでありながら、.NETがサポートしているすべてのCPU上で効率的に動作するサイズだからです(より大きなサイズのデータ型はCPUが直接扱えない場合もあり、マルチスレッドコードでは読み込みと書き込みが32ビット型に対してアトミックでも ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

動かして学ぶ量子コンピュータプログラミング ―シミュレータとサンプルコードで理解する基本アルゴリズム

動かして学ぶ量子コンピュータプログラミング ―シミュレータとサンプルコードで理解する基本アルゴリズム

Eric R. Johnston, Nic Harrigan, Mercedes Gimeno-Segovia, 北野 章, 丸山 耕司
ユーザーストーリーマッピング

ユーザーストーリーマッピング

Jeff Patton, 川口 恭伸, 長尾 高弘
Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門

Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門

Jon Manning, Paris Buttfield-Addison, 鈴木 久貴, あんどうやすし, 江川 崇, 安藤 幸央, 高橋 憲一

Publisher Resources

ISBN: 9784873119366Other