我有一个列表,在下面声明,在开始时我将列表项默认为{-1, - }.请注意,在整个计划中,列表大小固定为2.
List<int> list = new List<int>(new int[] {-1, -1});
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我需要覆盖列表中的两个值,那么最好的方法是什么.
int x = GetXValue();
int y = GetYValue();
Run Code Online (Sandbox Code Playgroud)
方法1:
list = new List<int>(new int[] {x, y});
Run Code Online (Sandbox Code Playgroud)
方法2:
list[0] = x;
list[1] = y;
Run Code Online (Sandbox Code Playgroud)
什么是更好的方法?使用第二种方法,即使我确定最初设置了2个值,但我可能会遇到Argument index out of range异常风险.但是第一种方法可能会占用更多内存(如果我错了,请纠正我!)因为我每次都会创建一个新列表.
是否有更简单和/或更好的解决方案
有没有办法让委托在特定的线程上运行?
说我有:
CustomDelegate del = someObject.someFunction;
Thread dedicatedThread = ThreadList[x];
Run Code Online (Sandbox Code Playgroud)
我是否可以拥有一致的后台长时间运行线程,并在需要时调用我自己的代理.它必须每次都是相同的线程.
[编辑]
我希望它在专用线程上的原因是时间是我打算在它上面运行委托并在y毫秒后暂停该线程,并在我运行另一个委托时恢复该线程.我觉得这是不可能的.我将有一个委托队列,让线程的主要功能从它读取并运行.
为了澄清一个具体的例子,我有一个带有一堆玩家线程的游戏系统.我希望每个playerthread都可以在其上运行游戏事件的事件处理程序.如果事件处理程序花费太多时间,我希望能够通过暂停其线程来暂停该特定玩家直到下一个事件.
因此,有一个专用线程,我可以运行多个事件处理程序,我可以暂停一个特定的玩家的AI,以防它被窃听或花费太长时间.
我正在使用一个库,该库返回一个带有时间戳的结构,该时间戳由两个(TimestampHi,TimestampLo)unsigned longs表示.我几乎只需要打印出%lluprintf中的时间戳.
从这两个整数中获取数据并将其正确用作uint64_t的最简单方法是什么?
目前我正在使用Request.ServerVariables ["REMOTE_ADDR"]从客户端获取IP.
调用此方法时我得到了什么保证.或者我应该查看其他ServerVariables?
我正在使用此代码在Facebook上发布,但它不适用于官方Facebook应用程序,因为它试图发送为链接.有没有办法解决?
Intent s = new Intent(android.content.Intent.ACTION_SEND);
s.setType("text/plain");
s.putExtra(Intent.EXTRA_SUBJECT, "Quote");
s.putExtra(Intent.EXTRA_TEXT, qoute);
startActivity(Intent.createChooser(s, "Quote"));
Run Code Online (Sandbox Code Playgroud) 我想可能没有任何差别,但个人偏好,但在阅读各种PHP代码时,我遇到了两种方法来访问方法类.
什么是区别:
class Myclass
{
public static $foo;
public static function myMethod ()
{
// between:
self::$foo;
// and
MyClass::$foo;
}
}
Run Code Online (Sandbox Code Playgroud) 类图实际上与仅查看折叠了所有函数的类定义有何不同?我被要求写一些内容,并意识到这只是..阅读源代码..它有评论。类图的意义是什么,它与带有少量注释的定义有什么不同,以及是什么让一个好的类图比其他类图更好?
编辑:是的,源已经存在,并且早在类图之前就已经存在了。
另一个编辑:人们一直在谈论视觉与文本品味。这不是我得到的类图的定义。仍然是纯粹的文字。示例类图是一堆文本,类似于删除了函数定义的源代码。这就是我问的原因。如果是真图我就能理解。
我有一个方法可以做一些IO,通常看起来像这样:
public bool Foo()
{
try
{
// bar
return true;
}
catch (FileNotFoundException)
{
// recover and complete
}
catch (OtherRecoverableException)
{
// recover and complete
}
catch (NonRecoverableException ex)
{
ExceptionPolicy.HandleException(ex, "LogException");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
该方法不是完成任务的关键,有外部恢复步骤 - 并且抛出NonRecoverableException是相对常见的 - 它在规范中返回false,报告'此时无法完成'并且处理移动.NonRecoverableException不会将程序置于无效状态.
当我进行单元测试时,抛出其中一个异常,我得到了错误
Activation error occured while trying to get instance of type ExceptionPolicyImpl
Run Code Online (Sandbox Code Playgroud)
而且我想压制它,而不是获取实际/原始异常信息,而不是EntLib无法记录(并且,实际上强制NonRecoverableException并且具有[ExpectedException(typeof(NonRecoverableException))]单元测试以确保这种方法符合规范.
我怎么能这样做?
编辑 使用预处理程序指令并不理想,因为我讨厌在代码库中看到特定于测试的代码.
我正在为初级程序员制作C#4.0的教学视频.
对于我介绍的每个主题,我都包含了一个学生可以实际使用的实际示例,例如,为了改进COM Interop功能,我展示了如何创建Excel文件并用代码中的值填充它.
对于命名参数和选项参数,我将展示如何使用5个参数创建日志记录方法,但如果您不想要,则不必传递任何参数,因为它们都具有默认值.所以他们看到这个功能如何更容易调用方法.
如果可以的话,我也想介绍元组,但似乎所有的"实际例子"(如在这个问题:可以在.Net 4.0中使用元组的实际例子?)是非常先进的.使用视频的学习者学习OOP,LINQ,使用泛型等,但例如函数式编程或"解决项目Euler的问题11"超出了本视频的范围.
任何人都可以想到一个例子,其中元组实际上对初学程序员有用,或者某些例子,他们至少可以理解它们是如何被高级程序员使用的?他们的机制对初学程序员来说非常简单,我只想找到一个例子,以便学习者可以实际使用它们.有任何想法吗?
这是我到目前为止所拥有的,但它只是没有任何功能的干式机械:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//two ways to define them
var customer = new Tuple<int, string, string>(23, "Sam", "Smith");
var customer2 = Tuple.Create<int, string, string>(34, "James", "Allard");
//with type inference, more concise (only available with the Create keyword)
var customer3 = Tuple.Create(23, "John", "Hoopes");
//you can go …Run Code Online (Sandbox Code Playgroud) 我真的很困惑为什么Python以特定的方式行事.
这是一个例子:我有一个名为"copy"的字典.(它是django中HttpRequest.POST的副本.)
这是一个调试会话(添加了行号):
1 (Pdb) copy
2 <QueryDict: {u'text': [u'test'], u'otherId': [u'60002'], u'cmd': [u'cA'], u'id':
3 [u'15']}>
4 (Pdb) copy['text']
5 u'test'
6 (Pdb) copy.pop('text')
7 [u'test']
Run Code Online (Sandbox Code Playgroud)
我的问题是在字典中它看起来像值都是列表(它们来自django那种方式.)当我访问第4行中的元素时,我将其作为值而不是列表,但是当我访问它时pop我再次把它作为列表.
我真的很困惑.有人可以帮忙吗?