命名空间并不直接包含诸如字段或方法之类的成员到底是怎么回事啊???急急急急急……

serven_zhang 2011-09-22 09:06:10
代码如下,但提示“命名空间并不直接包含诸如字段或方法之类的成员”,到底怎么回事啊,跪求指点……
using System;
namespace mynamespace{
class Student{
string major,name,grade;
int s_id;
float mid_mark,end_mark,test_mark,peacetime_mark,sum_mark;
public Student(string x1,string x2,string x3,int x4,float x5,
float x6,float x7,float x8){
major = x1;
name = x2;
grade = x3;
s_id = x4;
mid_mark = x5;
end_mark = x6;
test_mark = x7;
peacetime_mark = x8;
}

public void Natural(/*int s_id,string name*/){
//this.s_id = s_id;
//this.name = name;
Console.WriteLine(this.s_id+this.name);
}

public float Grade(float mid_mark, float end_mark, float test_mark, float peacetime_mark){
float sum_mark;
this.mid_mark = mid_mark;
this.end_mark = end_mark;
this.test_mark = test_mark;
this.peacetime_mark = peacetime_mark;
sum_mark = 0.5*end_mark + 0.2*mid_mark + 0.2*test_mark + 0.1*peacetime_mark;
Console.WriteLine(sum_mark);
}
}
Student stu;
Student stu = new Student("wg","zym","three",49,90,95,92,95);
stu.Natural();
}
...全文
737 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2011-09-22
  • 打赏
  • 举报
回复
提3个建议。

一个是所有变量,先初始化再使用

比如:

string major,name,grade,s_id;
=>
string major = "", name = "", grade = "",s_id = "";


缩进不要使用Java风格。
C#风格是括号单独成行。

最后,不要随意缩写变量名,英文缩写是有一定规则的,比如 student,所写成 stdt 或者 sdt,而不能是随意的 stu。如果你吃不准,应该用全拼。
serven_zhang 2011-09-22
  • 打赏
  • 举报
回复
/*
=======================================================================
+ 时间:2011年9月22日22:13:16 +
+ 作者:***** +
+ 功能:1、定义一个命名空间; +
+ 2、定义一个学生类,包含: +
+ (1)成员变量:专业、年级、学号、姓名、其中考试 +
+ 成绩、期末考试成绩、上机成绩、平时成绩; +
+ (2)方法:A 输出学生信息(学号、姓名); +
+ B 计算总成绩(50%期末成绩 +
+ +20%其中成绩+20%上机成绩 +10%平时成绩) +
=======================================================================
*/


using System;
namespace mynamespace{
class Student{
string major,name,grade,s_id;
float mid_mark,end_mark,test_mark,peacetime_mark;

public Student(string x1,string x2,string x3,string x4,float x5,
float x6,float x7,float x8){
major = x1;
name = x2;
grade = x3;
s_id = x4;
mid_mark = x5;
end_mark = x6;
test_mark = x7;
peacetime_mark = x8;
}

public void Natural(){
Console.WriteLine("学号:{0}",s_id);
Console.WriteLine("姓名:{0}",name);
}

public void Grade(){
double sum_mark;
sum_mark = (double)(0.5*this.end_mark + 0.2*this.mid_mark
+ 0.2*this.test_mark + 0.1*this.peacetime_mark);
Console.WriteLine("总成绩:{0}",sum_mark);
}

static Student stu;

static int Main(){
//参数顺序:专业,姓名,年级,学号,期中成绩,期末成绩,实验成绩,平时成绩
stu = new Student("网络工程","name","大三","090712356",90,95,92,95);
stu.Natural();
stu.Grade();
return 0;
}
}

}


哈哈,好友成就感,自己搞定了,贴出来给大家看看,献丑啊……
serven_zhang 2011-09-22
  • 打赏
  • 举报
回复
应该写在哪里啊大侠,我真的不知道啊,求详解啊~~~~
  • 打赏
  • 举报
回复
看下最后三行代码写到哪里去了
  • 打赏
  • 举报
回复
方法是成员,你直接把它丢到命名空间算什么呢?
serven_zhang 2011-09-22
  • 打赏
  • 举报
回复
是啊,函数,变量不都是在类student中么?求一楼详解啊……谢谢
threenewbee 2011-09-22
  • 打赏
  • 举报
回复
C#不支持全局函数或者全局变量。

也就是说 namespace 里面只能放 class struct。

你应该把函数、变量都包在类里面。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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