这是一个广泛的问题,但无论如何我想问.希望我不会得到很多投票:)
今天我去过一次采访,并且(像往常一样)他们让我写一个计算数字阶乘的函数.之后我们讨论了一些可能导致程序崩溃的问题,并讨论了如何让用户知道何时将负值传递给函数.
我个人说使用断言或者可能返回一个特殊号码让用户知道,但我不确定他是否对这些答案非常满意.
在您看来,让用户了解传递给函数的非法值或在这种情况下最好做什么的好方法是什么?
我有一个这样的元组,基本上是一个DB记录
record = ('R70:Congestion Ratio', 'pm_201204151900_KPI1.csv', 'pmexport_04_15_2012_20_00.tar.gz')
Run Code Online (Sandbox Code Playgroud)
我试图将其转换为元组,然后转换为字符串以获取查询
"INSERT INTO PM_NEW_COUNTERS (COUNTER_NAME, CSV_FILE_NAME, TAR_FILE_NAME) VALUES %s" %(tuple(record))
Run Code Online (Sandbox Code Playgroud)
但是我得到了TypeError: not all arguments converted during string formatting我做错了什么?有没有更好的实现我想要实现的目标?
我像onCreate方法一样得到唤醒锁,它工作正常(我也设置了权限):
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Wake lock");
wl.acquire();
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试释放它时:
@Override
protected void onDestroy()
{
super.onDestroy();
wl.release();
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因它没有被释放.这怎么可能 ?有任何想法吗 ?
编辑:我有一个退出按钮,调用finish()然后调用onDestroy().当我按下退出按钮,然后让手机进入睡眠状态时,我希望我的程序无法正常工作,但它有效,这表明锁定未发布
我有我创建的字符串:
string label = Name + " " + Number;
Run Code Online (Sandbox Code Playgroud)
在哪里Name和Number是属性.我想要在更新Name或Number更新时更改此标签字符串.我试图使用ref关键字,但C#告诉我,我不能ref用于属性.有没有办法实现这个目标?
CREATE OR REPLACE Function TotalIncome
( name_in IN varchar2 )
RETURN varchar2
IS
total_val number(6);
cursor c1 is
select monthly_income
from employees
where name = name_in;
BEGIN
total_val := 0;
FOR employee_rec in c1
LOOP
total_val := total_val + employee_rec.monthly_income;
END LOOP;
RETURN total_val;
END;
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我被告知我们正在循环遍历值,但我不理解的是,如果我们循环遍历值,为什么有employee_rec.monthly_income必要?此外,当我做一个FETCHon employee_rec我似乎得到一个错误,所以我猜他们彼此不同.
如果类中的方法具有const变量,例如:
public void MyMethod()
{
const int myVariable = 5;
// blah
}
Run Code Online (Sandbox Code Playgroud)
将myVariable只初始化一次(当我第一次调用该方法时)或每次调用该方法时?
使用Linq,您可以轻松完成:
from c in session.Query<Site>()
select new {c.SiteName, c.SiteId,
c.Network, c.RegionLocation.City,
c.RegionLocation.Region.RegionName};
Run Code Online (Sandbox Code Playgroud)
有没有办法做这样的事情QueryOver?看起来你可以做到这一点,SelectList但这似乎不像linq方法那么干净.有更干净的方式吗?
如果我有一个类定义
class myClass
{
void x();
};
void myClass::x()
{
hello(); // error: ‘hello’ was not declared in this scope
}
void hello()
{
cout << "Hello\n" << endl;
}
Run Code Online (Sandbox Code Playgroud)
如何调用在类范围之外定义并位于同一文件中的函数?我知道我可以使用,Namespace::function但我不确定在这种情况下我应该使用什么Namespace
对于下面显示的代码,当我按下选项按钮(由optionsButton变量给出)时,没有出现弹出屏幕.我究竟做错了什么 ?
optionsButton.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field arg0, int arg1) {
PopupScreen popup = new PopupScreen(new VerticalFieldManager());
popup.add(new LabelField("Hello!"));
Border border = BorderFactory.createSimpleBorder(
new XYEdges(), Border.STYLE_TRANSPARENT);
popup.setBorder(border);
}
});
Run Code Online (Sandbox Code Playgroud) 下面的代码导致StackOverflow错误(正如预期的那样).但是,我希望能够在set方法中设置此变量的值.有没有办法做到这一点 ?
public bool IsAvailable
{
get
{
return IsAvailable;
}
set
{
if (value == true)
{
this.Shape.BrushColor = ColorAvailable;
IsAvailable = true;
}
else
{
this.Shape.BrushColor = ColorNotAvailable;
IsAvailable = false;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我通常使用linq查询数据表来过滤数据,例如:
var plan = from p in planData.AsEnumerable()
let rnk = p.Field<decimal?>("RANK")
let spd = p.Field<string>("SPEED")
where rnk.HasValue
&& rnk == Convert.ToInt32(rank)
&& spd == speed
select p;
Run Code Online (Sandbox Code Playgroud)
数据表在哪里planData.问题是我没有简单的方法来检查结果是否返回任何内容.我根本不能在变量上使用任何有用的方法(比如ToList,AsEnumerable)plan.我所能做的只是尝试循环,看看是否有任何返回.
我有什么想法可以解决这个问题吗?也许还有另一种从数据表中选择数据的方法?
我想根据它们是否包含在其他列表中来过滤列表的值.如果一个元素在列表中,我将选择它,否则我想跳过它或基本上什么都不做.
以下是我试图做的事情.我怎样才能做到这一点?
List<string> sheetNames = new List<string>() {"1","10"};
List<string> projects= new List<string>() {"1","2","3","4","5","6","7"};
IEnumerable<string> result =
sheetNames.Select(x => projects.Contains(x)
? x
: /*Want to do nothing here */);
Run Code Online (Sandbox Code Playgroud) 我使用正则表达式fault-filtertime 5(.*)! TH来匹配和包括fault-filtertime 5和 之间的所有内容! TH.然而,由于某种原因,这不起作用.有什么想法吗?