将int值添加到字符数组ASCII值C#&;JAVA

将int值添加到字符数组ASCII值C#&;JAVA,java,c#,arrays,encryption,char,Java,C#,Arrays,Encryption,Char,在Java中,您可以轻松地将int值添加到char数组中,而无需像这样定义它 String name = " maisam is my name "; char[] arr = name.toCharArray(); for (int i = 0; i < arr.length; i++) { arr[i] += 100; } String name=“maisam是我的名字”; char[]arr=name.

在Java中,您可以轻松地将int值添加到char数组中,而无需像这样定义它

String name = " maisam is my name ";
        char[] arr = name.toCharArray();

        for (int i = 0; i < arr.length; i++) {

            arr[i] += 100;

        }
String name=“maisam是我的名字”;
char[]arr=name.toCharArray();
对于(int i=0;i
但在c#中,在添加值时需要提到(char)

string name = " maisam is my name ";
        char[] arr = name.ToCharArray();

        for (int i = 0; i < arr.Length; i++) {

            arr[i] += (char) 100;
        }
string name=“maisam是我的名字”;
char[]arr=name.ToCharArray();
对于(int i=0;i

我在Java中尝试了这两种方法,工作非常完美,没有错误,但在c中,它给了我一个错误,为什么?我到处找都找不到任何解释

这更多的是关于幕后发生的事情,而不是语法上的差异。在Java中的强制转换方式与在C#中的相同,但在这段Java代码中不需要这样做。 在Java中,它自动将int转换为char类型。 但C#的工作原理不同,你必须对其进行赋值。
似乎C#比Java强一点。

这更多的是关于幕后发生的事情,而不是语法上的差异。在Java中的强制转换方式与在C#中的相同,但在这段Java代码中不需要这样做。 在Java中,它自动将int转换为char类型。 但C#的工作原理不同,你必须对其进行赋值。
似乎C#比Java强一点。

这更多的是关于幕后发生的事情,而不是语法上的差异。在Java中的强制转换方式与在C#中的相同,但在这段Java代码中不需要这样做。 在Java中,它自动将int转换为char类型。 但C#的工作原理不同,你必须对其进行赋值。
似乎C#比Java强一点。

这更多的是关于幕后发生的事情,而不是语法上的差异。在Java中的强制转换方式与在C#中的相同,但在这段Java代码中不需要这样做。 在Java中,它自动将int转换为char类型。 但C#的工作原理不同,你必须对其进行赋值。 看起来C#比Java强一点。

这应该行得通。c#隐式地将char转换为int,而不是int转换为char,因此在分配给char数组之前,必须将添加的int值转换为char

string name = " maisam is my name ";
char[] arr = name.ToCharArray();

for (int i = 0; i < arr.Length; i++) {
    arr[i] = (char)(arr[i] + 100);
}
string name=“maisam是我的名字”;
char[]arr=name.ToCharArray();
对于(int i=0;i
编辑:代码
arr[i]+=(char)100也可以正常工作。上面的代码只是对相同代码的细化。

这应该是可行的。c#隐式地将char转换为int,而不是int转换为char,因此在分配给char数组之前,必须将添加的int值转换为char

string name = " maisam is my name ";
char[] arr = name.ToCharArray();

for (int i = 0; i < arr.Length; i++) {
    arr[i] = (char)(arr[i] + 100);
}
string name=“maisam是我的名字”;
char[]arr=name.ToCharArray();
对于(int i=0;i
编辑:代码
arr[i]+=(char)100也可以正常工作。上面的代码只是对相同代码的细化。

这应该是可行的。c#隐式地将char转换为int,而不是int转换为char,因此在分配给char数组之前,必须将添加的int值转换为char

string name = " maisam is my name ";
char[] arr = name.ToCharArray();

for (int i = 0; i < arr.Length; i++) {
    arr[i] = (char)(arr[i] + 100);
}
string name=“maisam是我的名字”;
char[]arr=name.ToCharArray();
对于(int i=0;i
编辑:代码
arr[i]+=(char)100也可以正常工作。上面的代码只是对相同代码的细化。

这应该是可行的。c#隐式地将char转换为int,而不是int转换为char,因此在分配给char数组之前,必须将添加的int值转换为char

string name = " maisam is my name ";
char[] arr = name.ToCharArray();

for (int i = 0; i < arr.Length; i++) {
    arr[i] = (char)(arr[i] + 100);
}
string name=“maisam是我的名字”;
char[]arr=name.ToCharArray();
对于(int i=0;i

编辑:代码
arr[i]+=(char)100也可以正常工作。上述代码只是对相同代码的细化。

简单地说,在
C#
中没有从
int
char
的隐式转换

对于
C#
int
您将拥有的是

int -> long , float, double, or decimal
请参阅此中的其他可用性

因为你没有像这样的隐式转换

char c = 100 ;
但是应该使用显式转换

char c = (char) 100 ; 
这里还有:
C#char
()

转换

字符可以隐式转换为ushort、int、uint、long、ulong、, 浮点、双精度或十进制。但是,没有隐式转换 从其他类型到char类型


简单地说,在
C#

对于
C#
int
您将拥有的是

int -> long , float, double, or decimal
请参阅此中的其他可用性

因为你没有像这样的隐式转换

char c = 100 ;
但是应该使用显式转换

char c = (char) 100 ; 
这里还有:
C#char
()

转换

字符可以隐式转换为ushort、int、uint、long、ulong、, 浮点、双精度或十进制。但是,没有隐式转换 从其他类型到char类型


简单地说,在
C#

对于
C#
int
您将拥有的是

int -> long , float, double, or decimal
请参阅此中的其他可用性

因为你没有像这样的隐式转换

char c = 100 ;
但是应该使用显式转换

char c = (char) 100 ; 
这里还有:
C#char
()

转换

字符可以隐式转换为ushort、int、uint、long、ulong、, 浮点、双精度或十进制。但是,没有隐式转换 从其他类型到char类型


简单地说,在
C#

你要做什么