C#中交换x,y的值
来源:百度知道 编辑:UC知道 时间:2024/06/01 04:14:10
using System;
class Test
{
static void Swap(int x,int y){
int temp=x;
x=y;
y=temp;
}
static void Main(){
int i=1,j=2;
Swap(i,j);
Console.WriteLine("i={0},j={1}",i,j);
}
}
想实现交换x,y的值,可是上面的程序实现不了,为什么?如果我想实现,该怎么改?我是新手,刚学一个星期,麻烦尽可能说的通俗易懂些,谢谢!
class Test
{
static void Swap(int x,int y){
int temp=x;
x=y;
y=temp;
}
static void Main(){
int i=1,j=2;
Swap(i,j);
Console.WriteLine("i={0},j={1}",i,j);
}
}
想实现交换x,y的值,可是上面的程序实现不了,为什么?如果我想实现,该怎么改?我是新手,刚学一个星期,麻烦尽可能说的通俗易懂些,谢谢!
这个问题是您忽略了变量的生存期了。。。这是面向对象编程,首先您的使用方式就不对。不过就您的方法您应该使用ref,和out。
using System;
class Test
{
static void Swap(ref int x,ref int y){
int temp=x;
x=y;
y=temp;
}
static void Main(){
int i=1,j=2;
Swap(ref i, ref j);
Console.WriteLine("i={0},j={1}",i,j);
}
}
希望您能成功~!
int 的类型是值引用的,所以你要用引类型ref或out如下:
using System;
class Test
{
static void Swap(ref int x,ref int y){
int temp=x;
x=y;
y=temp;
}
static void Main(){
int i=1,j=2;
Swap(ref i,ref j);
Console.WriteLine("i={0},j={1}",i,j);
}
}
using System;
class Test
{
void Swap(int x,int y){
int temp=x;
x=y;
y=temp;
}
static void Main(){
int i=1,j=2;
Swap(i,j);
Console.WriteLine("i={0},j={1}",i,j);
}
}
using System;
class Test
{
void Swap(int
C语言里,怎样把x和y的值交换而不使用中间变量?
已知(x*x+y*y)(x*x+y*y-1)=12,求x*x+y*y的值
若3x-2y=0,求(x+y)/(x-y)+(x-y)/(x+y)的值
当Y<0,X,X+Y,X-Y中最小的一个是?
C++中执行代码int x,y(5); x=~y; 后,X的值为什么是-6?
如果不引入第3个变量t,如何实现变量x和y的交换?请写出交换语句。
已知(x-y)/(x=y)=2,求(x-y)/(2x+2y)-(2x+2y)/(3x-3y)的值
在y关于x的表达式y=kx+b中,当x=2时,y=5;当x=-3时,y=10。求当x=-1时y的值
在y关于x的表达式y=kx+b中,当x=2时,y=5;当x=-3时,y=10。求当x=-1时y的值
若方程组4x-3y=k 2x+3y=5 的解中x>y,求k的取值范围