作为一名新的.NET 3.5程序员,我开始学习LINQ,我发现了一些非常基本的东西,我之前没有注意到:
本书声称每个数组实现IEnumerable<T>(显然,否则我们不能使用LINQ到数组上的对象......).当我看到这个时,我心里想,我从未真正想过这个,我问自己所有数组实现了什么 - 所以我检查了
System.Array使用对象浏览器(因为它是CLR中每个数组的基类),并且我很惊讶,它没有实现IEnumerable<T>.
所以我的问题是:定义在哪里?我的意思是,我怎么能准确地告诉每个阵列实现哪些接口?
作为一个新的WPF程序员,我无法找到两种不同的方式来验证用户输入:
编写自定义验证规则以实现IDataErrorInfo的优缺点是什么,反之亦然?什么时候我比较喜欢一个?
更新:
虽然我已经得到了答案,但我找到了可能对其他人有帮助的相关文章.
我有.png图像文件存储为我的Android应用程序中的资源.在我的代码中,我从该图像分配新的Bitmap实例如下:
Bitmap img = BitmapFactory.decodeResource(getResources(), R.drawable.imgName);
Run Code Online (Sandbox Code Playgroud)
但是当我使用getWight()和getHeight()方法从Bitmap对象读取图像尺寸时,
int width = img.getWidth();
int height = img.getHeight();
Run Code Online (Sandbox Code Playgroud)
我从原始图像得到了不同的结果......有人可以解释我缺少什么,我怎样才能检索图像大小?
(我的项目符合android 2.2 - API 8)
编辑:确定 - 了解如何获取真实尺寸:将类的inJustDecodeBounds属性设置BitmapFactory.Options为true,如下所示:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.imgName, options);
width = options.outWidth;
height = options.outHeight;
Run Code Online (Sandbox Code Playgroud)
现在的问题是当我们发送Options参数时解码器返回null ,所以我需要像我之前那样再次解码(没有Options参数...)来检索Bitmap实例-bizarre,不是吗?
我试图从这样的另一个服务绑定服务:
public class ServiceA extends Service {
private ServiceB mDataService;
private boolean mIsBound;
@Override
public void onCreate(){
super.onCreate();
doBindService();
/* ... */
}
@Override
public void onStart(final Intent intent, final int startId){
/*...*/
}
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
mDataService = ((ServiceB.LocalBinder)service).getService();
}
public void onServiceDisconnected(ComponentName className) {
mDataService = null;
}
};
void doBindService() {
bindService(new Intent(ServiceA.this, ServiceB.class), mConnection, Context.BIND_AUTO_CREATE);
mIsBound = true;
}
void doUnbindService() {
if (mIsBound) { …Run Code Online (Sandbox Code Playgroud) 可能重复:
查找链接列表中是否存在没有两个指针的循环
如何确定链接列表是否只使用两个内存位置进行循环.
测试链表是否有循环的最佳算法
在准备面试时,我遇到了以下问题:
如何使用额外的空间复杂度O(1)来确定链接列表(任何类型)是否包含循环?您不能假设循环从第一个节点开始(当然,循环不必包含所有节点).
我找不到答案,虽然我觉得这很简单......
我正在尝试进行(非常)简单的数据绑定测试,但它不能像我预期的那样工作...说我有以下类:
// this class represents some kind of data producer
public class DataSourceClass
{
public string Data { get; set; }
public DataSourceClass()
{ }
}
//this form holds the TextBox control as the Data consumer
public partial class DatabindingTestForm : Form
{
public DataSourceClass ds { get; set; }
public DatabindingTestForm()
{
InitializeComponent();
ds = new DataSourceClass();
textBox.DataBindings.Add("Text", ds, "Data");
}
private void checkBox_CheckedChanged(object sender, EventArgs e)
{
if (checkBox.Checked)
ds.Data = "CHECKED";
else
ds.Data = "NOT CHECKED";
} …Run Code Online (Sandbox Code Playgroud) 我相信这很愚蠢,我有点不好意思问这个问题,但我仍然找不到答案:
我正在看List<T>这个实现的课程IList.
public class List<T> : IList
Run Code Online (Sandbox Code Playgroud)
Ilist中包含的方法之一是
int Add(object value)
Run Code Online (Sandbox Code Playgroud)
我明白不List<T>应该暴露那种方法(类型安全...),它实际上没有.但它怎么可能呢?mustnt类实现整个接口?
当我尝试使用时,我有一个非常奇怪的现象StateListDrawable:
我有一个扩展的视图,ImageView我StateListDrawable在其构造函数中使用.我有2个代码片段,以提出我的问题.第一个:
public class MyView extends ImageView{
Resources r = getResources();
Drawable filteredDrawable = r.getDrawable(R.drawable.smallsale);
filteredDrawable.setColorFilter(new LightingColorFilter(Color.RED, 1));
setImageDrawable(filteredDrawable);
}
Run Code Online (Sandbox Code Playgroud)
第二个:
public class MyView extends ImageView{
Resources r = getResources();
Drawable filteredDrawable = r.getDrawable(R.drawable.smallsale);
filteredDrawable.setColorFilter(new LightingColorFilter(Color.RED, 1));
StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed}, filteredDrawable);
states.addState(new int[] {android.R.attr.state_focused}, filteredDrawable);
states.addState(new int[] {}, r.getDrawable(R.drawable.smallsale));
//Notice I do not use 'states' at all...
setImageDrawable(filteredDrawable);
Run Code Online (Sandbox Code Playgroud)
}
(我知道这段代码没有多大意义 - 我想简化问题以使问题更清晰).问题是,在第一次正确的时候一切正常 - 我在drawable上设置了一个彩色滤镜,并显示出来.但是在第二个片段中,StateListDrawable实例以某种方式影响过滤器,并显示原始 drawable,即使我从未将其连接到ImageView …
我需要在脑海中安排这些概念:
Entity Framework是"新的"ADO .NET吗?这两个术语有什么区别?LINQ to SQL如何与每个相关?它是实体框架的一部分吗?
我有一个在多个线程之间共享的字典.每个线程根据给定的键从字典中读取特定值,但是 - 如果字典中不存在该键,则线程需要将其添加到字典中.
为了解决同步问题,我虽然使用了ReaderWriterLockSlim类,它基本上给了我读者 - 作者锁定同步(意思是读者可以并行运行,但一次只能运行一个作者......)但为读者添加了升级选项.使用升级选项,我可以测试给定的密钥是否已经在字典中,如果没有 - 升级锁并写入它,承诺每个密钥只添加一个.
我的问题是,我不能一次创建两个可升级的锁 - 这意味着这个解决方案是不好的...... :(
有人可以向我解释为什么微软选择以这种方式实施可升级锁(我一次不能拥有多个可升级的锁......),并且让我知道如何通过自己实现可升级的锁\给我的另一个想法是同步我的共享字典?
c# ×5
android ×3
.net ×1
ado.net ×1
arrays ×1
c#-2.0 ×1
data-binding ×1
interface ×1
linked-list ×1
linq-to-sql ×1
service ×1
validation ×1
winforms ×1
wpf ×1