c#基础问题

isxyh 2019-11-23 03:42:12
1.第一个代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication30
{
class student
{
int no;
string name;
int deg1;
int deg2;
int deg3;
static int sum1 = 0;
static int sum2 = 0;
static int sum3 = 0;
static int sn = 0;
public student(int n, string na, int d1, int d2, int d3)
{ no = n; name = na; deg1 = d1; deg2 = d2; deg3 = d3; sum1 += deg1; sum2 += deg2; sum3 += deg3; sn++; }
public void disp() ①//理解不了没有void返回值是什么意思
{ Console.WriteLine("学号:{0}姓名:{1}语文:{2}数学:{3}英语:{4}P平均分:{5:f}", no,name, deg1, deg2, deg3, (double)(deg1 + deg2 + deg3) / 3); } ②//这里加double是为了显示转换吗??
public static double avg1() { return (double)sum1 / sn; }
public static double avg2() { return (double)sum2 / sn; }
public static double avg3() { return (double)sum3 / sn; }//return是什么意思为什么要加return。
}
class Program
{
static void Main(string[] args)
{
student s1=new student (1,"xyh",67,89,90);
student s2=new student (2,"myh ",34,55,66);
student s3=new student (3,"hcv ",24,43,75);
Console.WriteLine("亲爱的用户输出结果:");
s1.disp();
s2.disp();
s3.disp();
Console.WriteLine("语文平均分:{0}数学平均分:{1}英语平均分:{2}");
student.avg1();
student.avg2();
student.avg3(); ③//这样输出的结果显示为 语文平均分:{0}数学平均分:{1}英语平均分:{2}
//④那为什么非静态可以这样使用,静态方法只能Console.WriteLine("语文平均分:{0}数学平均分:{1}英语平均分:{2}",student.avg1();student.avg2(); student.avg3(););

}
}
}
⑤//什么时候一行代码要加";"什么时候不加分不清楚!
第二个代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication31
{
public class tpoint3
{
int x, y;
public int px⑥//属性px,py和字段x,y什么区别?
{
get { return x; }
set { x = value; }/⑦/get和set理解不了什么意思?
}
public int py
{
get { return y;}
set { y = value; }
}
}
class Program
{
static void Main(string[] args)
{
tpoint3 p = new tpoint3();⑧//在前面没有定义函数public tpoint3(){},这里为什么可以调用?系统会默认给你写好?
p.px = 3; p.py = 8;
Console.WriteLine("点=>({0},{1})", p.px, p.py);⑨//这里的“=>”是什么意思,有什么作用呢?
}
}
}
[color=#FF0000⑩]//请问封装是什么意思?以及什么时候需要对字段进行封装,有什么作用?[/color]
问题可能比较多......请各位大佬解决~~请问有没有这方面的学习交流群呀
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huaqingci 2019-12-20
  • 打赏
  • 举报
回复
语文平均分:{0}数学平均分:{1}英语平均分:{2},中的{Number} 表示,之后 的参数位置,Console.WriteLine("语文平均分:{0}数学平均分:{1}英语平均分:{2}",student.avg1();student.avg2(); student.avg3(););这个是对的
huaqingci 2019-12-20
  • 打赏
  • 举报
回复
②//这里加double是为了显示转换吗??是强制计算转换,因为你定义的类型是int ,这样有除法,不转换成double 只会进行int的乘除,例如int 的 5/2 = 2,double 5/2= 2.5
huaqingci 2019-12-20
  • 打赏
  • 举报
回复
① void 表示 没有返回值 ,这样直接return 如果有返回值 double int string long 好多
黄小俊 2019-12-06
  • 打赏
  • 举报
回复
你需要看书!
不过部分语法是最新的C# 的语法糖 比如
"点=>({0},{1})" 最后的结果是 "点=>(3,8)" 所以=> 就是 => 直接输出出来 类似“姓名:张三”的冒号 算格式!
isxyh 2019-11-24
  • 打赏
  • 举报
回复
求大佬解决里面的一些问题即可~~~

18,355

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧