哪一个更好或更清楚?
public int FrozenRegionWidth { get; set; }
Run Code Online (Sandbox Code Playgroud)
要么...
public int WidthOfFrozenRegion { get; set; }
Run Code Online (Sandbox Code Playgroud) 我听说有人说好的设计涉及使用继承,而不是使用if块乱丢你的代码.在什么情况下我们应该使用继承,什么时候条件阻塞就好了?
如果我有http://popurls.com/go/msn.com/l4eba1e6a0ffbd9fc915948434423a7d5这样的网址,如何以编程方式将其扩展回原始网址?显然我可以使用像expandurl.com这样的API,但这会限制我每小时100个请求.
在编程任务中,我试图确保特定向量仅包含唯一项.对于原始类型,操作非常简单:
vector<int> lala;
lala.push_back(1);
lala.push_back(99);
lala.push_back(3);
lala.push_back(99);
sort(lala.begin(), lala.end()); // lala: 1, 3, 99, 99
lala.erase(unique(lala.begin(), lala.end()), lala.end()); // lala: 1, 3, 99
Run Code Online (Sandbox Code Playgroud)
但是,问题是我没有使用int.但:
typedef struct
{
int x;
int y;
int maxX;
int maxY;
int width;
int height;
int id;
} Rect;
bool SameRect(Rect first, Rect second)
{
return first.x == second.x &&
first.y == second.y &&
first.width == second.width &&
first.height == second.height &&
first.maxX == second.maxX &&
first.maxY == second.maxY;
}
//...
vector<Rect> lala;
//...
sort(lala.begin(), lala.end()); …Run Code Online (Sandbox Code Playgroud) 假设您有一个返回枚举的函数:
public enum ServerStatus
{
Down,
Up
}
private ServerStatus GetServerStatus(int time)
{
if (time >= 0 && time < 12)
{
return ServerStatus.Down;
}
else if (time >= 12 && time <= 23)
{
return ServerStatus.Up;
}
else
{
return ?? // Server status is neither Up nor Down
}
}
Run Code Online (Sandbox Code Playgroud)
我是不是该:
我知道这听起来很愚蠢.但我必须在这里做错事.
说,
struct lala
{
private bool state1;
public lala(bool state1)
{
this.state1 = state1;
}
public void SetState1ToTrue()
{
this.state1 = true;
}
public bool GetState1()
{
return this.state1;
}
}
Run Code Online (Sandbox Code Playgroud)
然后某个地方......
List<lala> lalas = new List<lala>();
lalas.Add(new lala(false));
lalas.Add(new lala(false));
lalas[0].SetState1ToTrue();
// Why is it False???
Console.WriteLine(lalas[0].GetState1());
Run Code Online (Sandbox Code Playgroud)
是否有任何变通方法,除了将其更改为:
List<lala> lalas = new List<lala>();
lalas.Add(new lala(false));
lalas.Add(new lala(false));
lala newLala = lalas[0];
newLala.SetState1ToTrue();
lalas[0] = newLala;
// It's True, finally.
Console.WriteLine(lalas[0].GetState1());
Run Code Online (Sandbox Code Playgroud)
看起来很糟糕,不优雅,浪费了2行代码.如果说1行代码中有任何Linq-ish或函数式编程方法,那将是非常棒的.