我学习编写自己的接口,并遇到了MSDN文章" 接口(C#编程指南) ".一切似乎都很好,除了:<T>是什么意思或做什么?
interface IEquatable<T>
{
bool Equals(T obj);
}
Run Code Online (Sandbox Code Playgroud) 到目前为止,我有这个代码
int w = (int)((450-150)*random()+150);
Run Code Online (Sandbox Code Playgroud)
这会产生450到150之间的数字......但我不知道如何将该数字设为10的倍数.
调用TakePicture后,下面的代码作为jpeg图片回调执行.如果我将数据保存到磁盘,它是一个1280x960 jpeg.我试图改变图片大小,但这是不可能的,因为不支持更小的尺寸.JPEG是唯一可用的图片格式.
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream out = null;
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
Bitmap sbm = Bitmap.createScaledBitmap(bm, 640, 480, false);
Run Code Online (Sandbox Code Playgroud)
data.Leng是预期的500k.执行BitmapFactory.decodeByteArray()后,bm的高度和宽度为-1,因此操作失败.
谢谢!
我有一个可以编辑的GridView.我的问题是当我单击编辑时,文本框太小(File Name列).它不足以显示其内容,并且不如列的其余部分宽.
如何让文本框更宽广?
这是ASP代码:
<asp:GridView ID="FileGridView" runat="server" AllowPaging="True" OnPageIndexChanging="FileGridView_PageIndexChanging"
CellPadding="1" CssClass="GridView" GridLines="Horizontal"
Width="100%" AutoGenerateColumns="false"
AutoGenerateEditButton="true"
OnRowCancelingEdit="GridView_RowCancelingEdit" OnRowEditing="GridView_RowEditing" OnRowUpdating="GridView_RowUpdating"
>
<Columns>
<asp:BoundField DataField="Name" HeaderText="File Name" />
<asp:BoundField DataField="Length" HeaderText="Size" ReadOnly="true" />
<asp:BoundField DataField="LastWriteTime" HeaderText="Last Modified" ReadOnly="true" />
</Columns>
<RowStyle CssClass="GridViewRow" />
<EditRowStyle ForeColor="Black" CssClass="GridViewEditRow" />
<SelectedRowStyle Font-Bold="True" CssClass="GridViewSelectedRow" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle CssClass="GridViewHeader" ForeColor="White" />
<AlternatingRowStyle CssClass="GridViewAlternatingRow" />
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
这背后有C#代码来更新数据,这很好用.我希望解决方案是在ASP中,但如果解决方案需要一些C#代码,那对我来说没关系.
我必须进行反思和后期绑定,所以我不知道是否有办法加快速度。以为我会试一试。
这个片段大约需要 15 秒才能完成,这太慢了,但看看我需要如何读取元数据。
private static object InvokeCall(Type HostObjectType, Object HostObject, CallType callType, string PropertyOrMethodName, object[] args)
{
if (callType == CallType.Method)
{
return MyObjectType.InvokeMember(PropertyOrMethodName,System.Reflection.BindingFlags.InvokeMethod, null, myObject, args);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个函数定义,我调用多个函数.即使其中一个函数失败,我需要继续调用其余的函数,最后返回一个错误,说明是否有任何函数调用失败.我遵循的方法是
int function foo()
{
int res, res1, res2, res3;
res1 = function1();
res2 = function2();
res3 = function3();
if (res1 == -1 || res2 == -1 || res3 == -1)
{
res = -1;
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
可能的另一种方法是
int function foo()
{
int res;
if (function1() == -1)
{
res = -1;
}
if (function2() == -1)
{
res = -1;
}
if (function3() == -1)
{
res = -1;
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
哪种方法更好?提前致谢.
我永远找不到 F# 核心库的源代码。我知道它应该是开放的,但谷歌在帮助我找到它时对我并不友好,如果是这样,我会查找 Seq.fold 的实现 - 但问题就在这里。
有没有人看到以下代码段有任何问题:
let success = myList |>
Seq.fold
(fun acc item -> evaluation item)
false
Run Code Online (Sandbox Code Playgroud)
从逻辑上讲,它似乎不保水,我可以并且将尝试对其进行测试。但我想问社区。如果 myList 中的任何单个评估返回 false,我希望成功变量为 false...
所以测试:
let myList = [true; true]
let success = List.fold (fun acc item -> acc && item) true myList
Run Code Online (Sandbox Code Playgroud)
和
let myList = [true; false; true]
let success = List.fold (fun acc item -> acc && item) true myList
Run Code Online (Sandbox Code Playgroud)
确实返回正确的结果 - 我只是看到源会更舒服......
Windows徽标计划要求unins000.exe由Inno生成的签名.我设计的唯一方法是解压缩安装程序,签名然后再重新打包.是不是有更简单的方法?
我找到了Inno Unpacker,但我不确定如何重新包装它.
我有这样的功能:
selectValue1 :: Int -> [(Int,Int)] -> [Int]
selectValue1 a [(x,y)]= [ y |(x,y)<-[(x,y)],x<-(x,y),x==a ]
Run Code Online (Sandbox Code Playgroud)
我想要做的是将元组列表传递给函数,如果元组中的第一项与输入a匹配,则取元组中的第二项.但是这个函数给我一个错误:
Type error in generator
*** Term : (x,y)
*** Type : (Int,Int)
*** Does not match : [a]
Run Code Online (Sandbox Code Playgroud)
为什么会这样???上面的任务怎么办?有解决方案?? 谢谢你们..:)
我知道Oracle的create table语法
CREATE TABLE MyTable(
id int primary key,
...
);
Run Code Online (Sandbox Code Playgroud)
这将创建一个MyTable使用int主键调用的表.所以,这里没什么新鲜的.
但我很难理解以下查询:
CREATE TABLE departament (
cod_dept INTEGER CONSTRAINT dept_key PRIMARY KEY,
dept_name CHAR(15) NOT NULL,
admission DATE NOT NULL,
localization CHAR(20))
Run Code Online (Sandbox Code Playgroud)
当我抬头对Oracle的SQL Developer软件departement的表,我可以看到4列:cod_dept,dept_name,admission和localization.在约束选项卡上,我也可以看到dept_key,但我对这可能意味着什么感到困惑.这里的dept_key目的是什么?
好的,似乎这是一种定义要添加到表中的约束名称的方法.我的下一个问题是你为什么不把它命名为主键列?从我所看到的,默认情况下Oracle似乎只为约束创建一个随机名称!
谢谢