为什么我可以从"method()"而不是从Main()方法访问X变量?
class Program
{
int X; // this is the variable I want access
static void Main(string[] args)
{
int a;
a = X; // this doesnt work, but why?
}
void metodo()
{
int b;
b = X; //this works, but why?
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找PHP中的一个函数,用于将一组不规则放置的数据(x,y,z)插入到网格化数据集中,以便在JPGraph的ContourPlot函数中使用它.我已经开发了一个基于简单的逆距离加权的函数,但它太慢了.我需要使用其他方法,如"修改的Shepard方法"或任何其他可能的方法,更准确,使其更快,更顺畅.
这是我目前的代码:
for($i = 0, $ij = 0; $i < $gridX; $i ++) {
for($j = 0; $j < $gridY; $j ++, $ij ++) {
$x = $startP->x + ($deltaX * $i);
$y = $startP->y + ($deltaY * $j);
$g [$ij]->i = $i;
$g [$ij]->j = $j;
$g [$ij]->x = ( int ) $x;
$g [$ij]->y = ( int ) $y;
$g [$ij]->z = IDW_U ( $x, $y, $sampleData, $sampleSize, $p );
}
}
function IDW_U($x, $y, $data, …Run Code Online (Sandbox Code Playgroud) 我习惯看到旧的代码
if (true)
{
...
}
Run Code Online (Sandbox Code Playgroud)
直觉上很明显,某人在做出改变时要么懒惰要么过于谨慎.我今天遇到了这个片段,我很好奇这种类型比较之间是否存在功能差异:
private static bool logField(Type t, string fieldname)
{
if (t.ToString() == typeof (Property).ToString())
{
...
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
这样做:
private static bool logField(Type t, string fieldname)
{
if (t == typeof (Property))
{
...
}
return true;
}
Run Code Online (Sandbox Code Playgroud) 我在PHP脚本中有以下代码:
<?php
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')))
{
die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
// Other statements follow here
echo 'Hello there ...'
Run Code Online (Sandbox Code Playgroud)
而不是回显消息,我想将用户重定向到404页面.但是,当我用这个替换die()语句时:
header("HTTP/1.0 404 Not Found");
从远程计算机运行脚本的用户可以看到消息"Hello there ..."
如何让页面重定向到404页面以获取脚本的非localhost请求?
顺便说一句,这段代码来自Symfony框架中的开环环境前端控制器.
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Table(name = "company_policies")
@DiscriminatorColumn(name = "rule_name")
public abstract class AbstractPolicyRule implements Serializable {
@Transient
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
private String value;
...
}
Run Code Online (Sandbox Code Playgroud)
_
@Entity
public class Category implements Serializable {
@Transient
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
@Column(name = "category_name")
private String name;
@OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL }, orphanRemoval = true)
@JoinColumn(name = "category_policy_id", referencedColumnName = "id")
private …Run Code Online (Sandbox Code Playgroud) 语言无关紧要,图书馆也是如此,我只需要以最快的方式指定窗口(标题或句柄).
是否可以设置内容长度标头并使用分块传输编码?这样做是否解决了在使用chunked时不知道客户端响应长度的问题?
我正在考虑的情况是当你有一个大文件要传输时,确定它的大小没有问题,但它太大而无法完全缓冲.(如果你没有使用chunked,那么整个响应必须首先得到缓冲?对吗?)
谢谢.
在我的Java应用程序中,以下两个都将编译并运行,并产生所需的结果.
//"Rotate" the list items one place to the left.
myLinkedList.addLast(myLinkedList.removeFirst());
Run Code Online (Sandbox Code Playgroud)
并且在相反方向上"旋转"
//"Rotate" the list items one place to the right.
myLinkedList.addFirst(myLinkedList.removeLast());
Run Code Online (Sandbox Code Playgroud)
两个"旋转"每个只需要一行代码,但我想知道这是否是正确的方法呢?这种方法有什么缺陷吗?
是否有更好,更强大,更容易出错的方式,就像我上面所做的那样,需要多行代码才能实现,如果有,请解释原因.
我在C中编写了两个程序来计算字符并打印值.
一个使用while循环,另一个使用.编译时没有报告错误,但都没有打印任何内容.
这是使用while的代码:
#include <stdio.h>
/* count characters and input using while */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
这里的代码用于:
#include <stdio.h>
/* count characters and input using for */
main()
{
long nc;
for (nc = 0; getchar() != EOF; ++nc)
;
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
编译和运行.
当我输入输入并按Enter键时,会打印一个空白换行符.当我在没有输入任何内容的情况下点击输入时,再次打印空白换行符.我认为至少应该打印零.
我正在使用Exchange Web服务托管API来处理任务(Exchange 2007 SP1).我可以创造它们.但是,当我尝试进行更新时,它适用于除.Body字段之外的所有字段.每当我尝试访问(读取/更新)该字段时,它都会出现以下错误:
"You must load or assign this property before you can read its value."
Run Code Online (Sandbox Code Playgroud)
我使用的代码如下所示:
//impersonate the person whose tasks you want to read
Me.Impersonate(userName); //home-made function to handle impersonation
//build the search filter
Exchange.SearchFilter.SearchFilterCollection filter = New Exchange.SearchFilter.SearchFilterCollection();
filter.Add(New Exchange.SearchFilter.IsEqualTo(Exchange.TaskSchema.Categories, "Sales"));
//do the search
EWS.Task exTask = esb.FindItems(Exchange.WellKnownFolderName.Tasks, filter, New Exchange.ItemView(Integer.MaxValue));
exTask.Subject = txtSubject.Text; //this works fine
exTask.Body = txtBody.Text; //This one gives the error implying that the object isn't loaded
Run Code Online (Sandbox Code Playgroud)
奇怪的是,检查属性包显示该对象包含33个属性,但{Body}不是其中之一.该属性似乎是从基类.Item或其他东西继承而来的.
那么,我是否需要将对象重新加载为类型Item?或者通过.Bind或其他东西重装?请记住,我需要使用数千个项目来完成此操作,因此效率对我来说很重要.