我有一个整数数组,需要在最大数字的数组中找到最小值的位置.我有它工作但它似乎不是一个非常好的方法来做到这一点.任何人都可以建议一个更好的方法来实现我的目标吗?
这是我的代码:
int[] usageHours = { 3, 3, 5, 4, 0, 0, 2, 2, 4, 25, 158, 320, 212, 356, 401, 460, 480, 403, 298, 213, 102, 87, 34, 45 };
double myAverage = usageHours.Average();
int runningTotal = 0;
int runningMaxPosition = 0;
for (int i = 0; i < usageHours.Length; i++)
{
if (usageHours[i] > runningTotal)
{
runningMaxPosition = i;
runningTotal = usageHours[i];
}
}
txtmax.Text = Convert.ToString(runningMaxPosition)+" With: "+Convert.ToString(runningTotal)+" Users";
txtAv.Text = Convert.ToString(myAverage);
Run Code Online (Sandbox Code Playgroud) 我有一个函数从日志文件中读取行,将这些行转换为某个类并返回此类的实例的STL列表.
我应该如何声明这个函数,以便在将它归因于调用者时不复制整个列表?
不失一般性,假设:
list<Request> requests = log_manipulator.getAsRequestList();
Run Code Online (Sandbox Code Playgroud)
我该如何申报getAsRequestList()?我应该返回对列表的引用还是只返回一个列表?
这是一个严重的问题,因为在这个特定的赋值中,列表将包含大约1.5M的元素,因此这样的错误可能会增加内存使用量.
我正在尝试编写一个程序,显示1到100之间的整数,可以被6或7整除但不能同时整数.
这是我的代码:
import acm.program.*;
public class Problem4 extends ConsoleProgram
{
public void run()
{
for (int i = 1; i <= 100; i++)
{
boolean num = ((i % 6 == 0) || (i % 7 == 0));
if (num == true)
println(i + " is divisible");
}
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显示如下回答:6,7,12,14,18,21,24,28,30,35,36,42,48,49,54,56,60,63,66,70,72, 77,78,84,90,91,96,98
现在粗体数字42和84都是6和7的divisbile.现在如果我在上面的代码中更改了||to &&,结果只显示了42和84.
我应该做些什么改变才能从最终结果中删除这两个数字?
如果整数数组中有任何重复的元素,我必须递归地找到它v.该方法必须具有以下签名:
boolean hasRepeatedElements(int[] v)
Run Code Online (Sandbox Code Playgroud)
我无法看到任何递归方式,无需为此方法定义另一个方法或至少另一个重载(例如,该方法需要使用后面的元素).首先,我考虑检查当前v是否有一些元素等于第一个元素,然后创建一个包含L-1元素等的新数组,但这看起来效率很低.这是唯一的方法吗?
我在这里错过了什么吗?
我的ASP.NET(Framework 4)Web项目中的导航存在问题.我在主页面上有一个登录字段.主页还包含一个ContentPlaceHolder,它动态地包含其他aspx页面.我从页面"a"开始并导航到页面"b".当我登录页面"b"时,导航中的其他节点变得可见.现在我的问题:当我从浏览器推送"历史回复"按钮时,附加节点在页面"a"上消失.
我发现页面"a"不会再次重新加载,因为它是从浏览器的缓存中加载的.
我尝试使用LinkButton(Zurueck):
protected void Page_Load(object sender, EventArgs e)
{
Zurueck.Attributes.Add("onClick", "javascript:history.back(); return false;");
}
Run Code Online (Sandbox Code Playgroud)
我还在C#源代码和aspx源代码中尝试了一些缓存限制:
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
if (Session["sessionKuerzel"] != null)
{
view = (TreeView)this.FindControl("TreeViewVerwaltung");
view.Visible = true;
login = (Button)this.FindControl("Senden");
login.Visible = false;
logout = (Button)this.FindControl("Logout");
logout.Visible = true;
benutzerrecht = (string)(Session["sessionRecht"]);
if (benutzerrecht.Equals("Administrator")){
view.Nodes[0].ChildNodes[1].SelectAction = TreeNodeSelectAction.Select;
}
else{
view.Nodes[0].ChildNodes[1].SelectAction = TreeNodeSelectAction.None;
}
view.Visible = true;
}
}
Run Code Online (Sandbox Code Playgroud)
Site.Master.aspx(负责人):
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
Run Code Online (Sandbox Code Playgroud)
但所有这些替代方案都不适用于Mozilla FireFox.
如何在历史记录中导航并重新加载页面?任何想法或解决方案?
我需要创建一个应用程序来充当BMI计算器,它收集许多属性,具有匹配的属性来获取和设置这些属性值,并请求许多方法来计算特定数据,如患者年龄,最大心率,目标费率等等.
我的问题主要是关于方法的使用,看看这种用法是正确还是不正确.
我计算年龄的方法如下:
public int Age()
{
DateTime Now = DateTime.Today;
return (Now.Year - DateOfBirth);
}
Run Code Online (Sandbox Code Playgroud)
我不能100%肯定的是,如果我现在可以在另一个方法的计算中使用该方法,如下所示:
public int MaxHeartRate()
{
return (220 - Age());
}
Run Code Online (Sandbox Code Playgroud)
我本可以使用属性来执行此操作,但是,赋值使用方法来执行计算.
任何帮助将不胜感激.我理解方法和属性之间的用法,但是我不清楚在方法中调用另一个方法用于计算目的的用法.
我正在尝试制作一个小的披萨订单,但我的计算有问题.选择披萨后,单价和总计算都可以,但选择添加会引入问题.更改NumericUpDown值后,卡路里不正确(所有单位都有不变的价格和卡路里).NumericUpDown的名称是numberofunit.我该怎么计算它们?
if (pepper.Checked)
{
string peppereklendi =
Convert.ToString(Convert.ToDouble(unitprice.Text)+ pepperprice);
unitprice.Text = peppereklendi;
total.Text =
Convert.ToString(Convert.ToDecimal(unitprice.Text) * numberofunit.Value);
string pepperkaloriekle =
Convert.ToString(Convert.ToInt16(gizlikalori.Text) + pepperkalori);
gizlikalori.Text = pepperkaloriekle;
amountofcalorie.Text =
Convert.ToString(Convert.ToDecimal(gizlikalori.Text) * numberofunit.Value);
}
else
{
string peppereklendi = unitprice.Text;
unitprice.Text =
Convert.ToString(Convert.ToDouble(peppereklendi) - pepperprice);
total.Text = Convert.ToString(Convert.ToDecimal(unitprice.Text) * numberofunit.Value);
string pepperkaloriekle = gizlikalori.Text;
gizlikalori.Text =
Convert.ToString(Convert.ToDouble(pepperkaloriekle) - pepperkalori);
amountofcalorie.Text =
Convert.ToString(Convert.ToDecimal(gizlikalori.Text) * numberofunit.Value);
}
Run Code Online (Sandbox Code Playgroud)
此代码是胡椒的复选框代码.
我的应用程序在自己的线程上启动多个长时间运行的函数/方法.当其中一个线程遇到错误时,我的程序崩溃(如预期的那样).但问题是,应用程序生成的所有线程是否都停止执行?还是他们在某个地方闲逛?如果是这样,我是否需要编写另一个应用程序来监控它们以便我可以杀死它们?
谢谢!
SelectedValue = ""当我点击我的按钮时,我得到了.
我的aspx:
<telerik:RadComboBox ID="ddl_contactList" runat="server" AutoPostBack="True" CausesValidation="False"
CollapseDelay="0" Culture="ar-EG" ExpandDelay="0" Filter="StartsWith" ItemsPerRequest="10"
MarkFirstMatch="true" Skin="Outlook" EnableAutomaticLoadOnDemand="True" EmptyMessage="-New Menu-"
ShowMoreResultsBox="True" OnSelectedIndexChanged="ddl_contactList_SelectedIndexChanged"
EnableItemCaching="false" EnableLoadOnDemand="True" EnableVirtualScrolling="True">
</telerik:RadComboBox>
Run Code Online (Sandbox Code Playgroud)
我的.cs:
private void BindContactLists(int year, int main_code)
{
ddl_contactList.Items.Clear();
DataTable dt = ContactList.GetContactListsByDep(year, main_code);
ddl_contactList.DataSource = dt;
ddl_contactList.DataTextField = "list_desc";
ddl_contactList.DataValueField = "list_code";
ddl_contactList.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
我把它称之为,page load因为当我在其中调用它时
!Page.Ispostback,我收到以下错误:
没有分配的数据源.无法完成回叫请求.
我该如何解决这个问题?马上:
ddl_contactList.Text == "MySelectedItemText"
但
selectedValue == "" 和 selectedItem == ""
如何将此Clarion过程声明转换为C#?它是用C编写的第三方DLL的一部分,没有太多的文档。我已经在Clarion中列出了可以正常工作的方法的原型。在C#中,我不确定要使用哪种类型来替换*CString。我尝试char[]像@DanielC建议的那样,但是没有用。我还发现Clarion long是32位的(感谢@ shf301)。
号角:
SendRequest Procedure(*CString xData,Long DataLen,Long xTimeout),Byte,Virtual
Run Code Online (Sandbox Code Playgroud)
C#(我尝试过的方法不起作用):
[DllImport("3RD_PARTY_API.dll")]
private static extern long SendRequest(ref string xData, int DataLen, int xTimeout);
Run Code Online (Sandbox Code Playgroud)
当我SendRequest在C#中调用该方法时,我从VS2010 获取标准的PInvokeStackImbalance被检测到错误。我认为它的参数类型的问题,而不是像CharSet或EntryPoint在的DllImport声明。我真的只是停留在如何转换*CString为有效的C#类型上。