C#のためのJava入門(ネットコア)

C#のためのJava入門(ネットコア)

序文

ノウハウ訪問するとき、ほぼ以前のC#言語を知っているものの、.NETのコアに接触するだけでなく、数とJavaとの間の相関関係を理解するために、まだ霧、私はJavaの香港との間には非常に簡単変換を聞いたと.NET、私が試してみて。

環境

.NETコア3.1

C#8.0

コード対

対コードの環境を使用して、それが便利、しかし軽量対優れています。

純コアSDKインストールし、いくつかのC#プラグイン。

市場へのVscodeプラグは、(それまでにインストールされている)のC#を見つけます。フルネーム:

(OmniSharpによって供給)のVisual StudioのコードのためのC#。

プラグインをインストールすると、デフォルトで2つの依存関係を追加し、それは待つことができます。

私はC#.NETコンパイラを含むものの、あなたは1つのファイルを実行する必要があり、C#.NETコアSDKの単一のコンパイラを見つけられませんでしたC#コンパイラとは独立してダウンロードすることができます

テスト

.NETのコアSDKをインストールした後、コマンドラインウィンドウを使用してdotnet、次の正常にインストールを促す、コマンドを。

PS D:\> dotnet

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET Core information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

最初のアプリケーション

使用して、新しいxxxは、関連するアプリケーションを作成することができますDOTNET。

dotnet new console -output project_name  //console应用
dotnet new webapp -o projrct_name  //webapp
....

HelloWorldのと呼ばれるコンソールアプリケーション、等。

dotnet new console --output helloworld

フォルダ内のディレクトリには、以下の書類をHelloWorldのそれが生成されます。

helloworld\helloworld.csproj//配置文件
helloworld\Program.cs//项目入口文件

プロジェクトエントリファイル次のように:

using System;//使用系统命名空间

namespace helloworld//命名空间
{
    class Program//类名
    {
        static void Main(string[] args)//主方法
        {
            Console.WriteLine("Hello World!");//输出
        }
    }
}

この時点で、DOTNETは、プロジェクトの実行を実行するには、コンソールで実行されます。

>dotnet  run
Hello world!

次のようにコンフィギュレーションファイルは、次のとおりです。

<Project Sdk="Microsoft.NET.Sdk">//sdk类型

  <PropertyGroup>
    <OutputType>Exe</OutputType>//输出类型为exe
    <TargetFramework>netcoreapp3.1</TargetFramework>//目标框架
  </PropertyGroup>

</Project>

JavaからC#へ

C#とJavaの構文に類似、およびC ++はリンクされています。また、C#がまた、JavaScriptを置き換えることができ、そのため同じ構文のJS部分を持っています。その後、C#とJavaの外観は異なっています。

図1に示すように、モジュール管理

異なるファイルの管理におけるJavaはパッケージを介してであり、C#、C ++の名前空間で使用されています。

2、型推論

変数宣言を行うとき、varキーワード型推論を行うことができ、JSなどいます。

3、補間文字列

$ {}とテンプレート構文の実装により、C#の。

var str="World!!!";

Console.WriteLine($"Hello {str}");
//Hello World!!!
4、Foreachループ

C#やJavaは、支持データ構造タイプ(アレイ、コレクション、等)に拡張悪いを通じてのために提供されます。

C#のforeachループでは:

 var s=new int[]{0,1,2,3};
          
 foreach(var i in s){
     Console.WriteLine(i);    
            }

項目別のJava:フォームの項目:

int[] s=new int[]{0,1,2,3};

for(int i:s){
    System.out.println(i);
        }

5、構造

C#の支持構造体、およびC ++のようにいます、。

C#の支持構造体、およびC ++のようにいます、。

以下に示すようにして、構造体キーワード、コンストラクタを宣言し、通常の方法を有しています。

 public struct Name {

        public string fName;
        public string lName;

        public Name(string fName,string lName){
            this.lName=lName;
            this.fName=fName;
        }


        public string getname(){
            return this.fName+" "+this.lName;
        }
    }

同じメソッドとクラスを使用します。

var n=new Name("Tom","Blue");
Console.WriteLine(n.getname());

そして、クラスが異なります。

構造は、値型で、継承をサポートしていません。

しかし、インターフェイスをサポートしています。

6、ラムダ式

JavaとC#は、ラムダ式、jdk1.7開始からのJavaサポートを提供します。

Javaが使用し、関数インタフェースを使用する前に必要とされる形式** - > **

//使用前需要先定义一个函数式接口
@FunctionalInterface
interface FuncIn{
   
    void hello(String s);
}




//之后使用lambdab表达式实现这个接口,才能调用。
FuncIn f=s->{
     System.out.println("hello "+s);
 };
f.hello("jim");

達成するためにC#のデリゲート型のFuncとアクションを使用してラムダ式は、戻り値アクションタイプは、ジェネリックのサポートを必要とする、のFunc戻り値の型を使用します。

使用形式デリゲート型<... T>関数名=(... T)=> {}

//无返回值使用Action类型
Action f=()=>Console.WriteLine("a  func ....");

f();

Action<int> f1=x=>{
        Console.WriteLine(x)
};

f1(10);


//有返回值使用Func类型
Func<int,int> f2=x=>x*x;

Console.WriteLine(f2(2));

Func<string,string,string> f3=(a,b)=>a+"---"+b;

Console.WriteLine(f3("hello","world"));

ラムダ式の委任メカニズムを使用してC#が比較的簡単です。

7、アクセサ

私有財産でJavaは、一般的に、\ setメソッドを取得し、C#は、アクセサと呼ばれ、構造体とクラスは次の形式をサポートしています。

 public string FName{
       get=>this.fName;//使用了lambda表达式
       set=>this.fName=value;
     
     //get{return this.fName;}//实际格式
	//set{this.fName=value;}
     
     //get; set;自动实现对访问器的支持
 }

//外界可以通过x.FName进行访问,缺失get将无法访问,缺失set将无法修改。
8、継承

表現を:使用してC#で継承。以下のような:

public class His:Hi{
        
    }

//此时His类已经继承Hi类的所有公开部分。

//使用父类接收子类的实例,并且调用父类的方法。
 Hi h=new His();
 h.sayHi("sally");

そのようなC#のイベント、委託インデクサの概念などの一部は、あります。

文法に変換するC#の開発者とJava開発者は、難しいことではありません。

公開された159元の記事 ウォンの賞賛9 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_43688691/article/details/103978723