考虑一个简单的类A.
class A
{
int id=0;
public int getId()
{
return this.id++;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是What are all the OOPS concepts used in the above class?.
我问面试官,OOPS Concepts的意思和回复是什么 general OOPS concepts like inheritance, polymorphism, etc, etc.,
我回答说继承不在上面的代码中(没有派生的基类),我在这个运动中想到的唯一答案就是:
variable-hiding因为私有变量id只能由getId方法访问.
你们有没有抓到的东西?
编辑:
c#会是什么?在java中,我们将默认修饰符设置为internal.如果c#被问到同样的问题,有什么改变吗?
我需要sun-sign根据他的年龄找到一个给定的人.
例如,
Capricorn December 22 – January 20
Aquarius January 21 – February 18
Pisces February 19 – March 19
Aries March 20 – April 19
Taurus April 20 – May 20
Gemini May 21 – June 20
Cancer June 21 – July 22
Leo July 23 – August 22
Virgo August 23 – September 22
Libra September 23 – October 22
Scorpio October 23 – November 21
Sagittarius November 22 – December 21
Run Code Online (Sandbox Code Playgroud)
我写了这段代码,
public enum Months …Run Code Online (Sandbox Code Playgroud) 我有一个阴影属性定义如下的图像.
<Border Background="Black" Margin="42,180,368,38">
<Border.Effect>
<DropShadowEffect Color="Aqua" Opacity="0.5"/>
</Border.Effect>
<Image Height="92" Width="97" Source="/Images/image_search.png" />
</Border>
Run Code Online (Sandbox Code Playgroud)
这会生成带边框的图像.好.但是,我需要仅在图像悬停时显示边框?我怎么做 ?另外,如何模糊悬停在它上面的图像?
非常感谢.
class A
{
public static List<String> a = new List<string>();
public static List<String> test()
{
A.a.Add("20");
A.a.Add("30");
A.a.Add("40");
return a.Sort();
}
}
Run Code Online (Sandbox Code Playgroud)
抛出编译错误:
无法将void隐式转换为System.Collections.Generic.List.
但是,如果我编写一个方法来获取List<String>值(因为它是静态成员变量),一切都应该正常工作.但是,我不知道为什么尽管我的方法返回一个List<String>值,为什么编译器会抛出这个错误?
我有一个web服务和这个特殊的功能:
IAsyncResult func(object signature, AsyncCallback callBack, object asyncState)
Run Code Online (Sandbox Code Playgroud)
我可以理解,使用await的唯一目的不是在发生非常长的操作时阻塞UI,并且它还有一些可用于执行"func"结果的回调函数
在我的情况下,我必须等待(必须等待),直到我得到func的结果.
有什么建议我应该等到我得到func的结果(换句话说,只要坚持到我得到结果)
编辑:
我为什么要那样做 ?
我只想检查签名是否属于特定类型.如果是这样,该函数停止执行并返回0.这是我从func中需要的唯一功能,并且看不到值得定义回调方法和状态对象.
可能我可能会与拳击和拆箱混淆.
请考虑MSDN中的以下声明:
"取消装箱是从类型对象到值类型或从接口类型到实现接口的值类型的显式转换."
因此,这意味着取消装箱只能应用于值类型参数.
所以,这没关系.
var concernedInteger = (int)myObject; //unboxing is ok.
Run Code Online (Sandbox Code Playgroud)
由于class是引用类型,因此不起作用(因为取消装箱仅适用于值类型)
var concernedClassObject = (TestClass)testClassObject // unboxing is still ok.
Run Code Online (Sandbox Code Playgroud)
我的ReSharper没有显示任何错误.
所以,我的问题是"当MSDN说只有值类型可以解包"时,如何拆箱引用类型变量?
我在写Web-API方法.一种这样的方法类似于
public IHttpActionResult Post([FromBody]MyDTO)
{
//validations
try
{
InsertInToDB(MyDTO.SomeField);
}
catch(Exception ex)
{
// Say some exception has occurred while inserting in to DB. For eg. SomeField is not a acceptable value.
// What is the response that I should send to the API user ?
// Notfound, BadRequest does not seem to be fit in this case.
}
}
Run Code Online (Sandbox Code Playgroud)
注意:InsertIntoDB返回一个void
现在,如果在该方法中发生了一些异常HttpStatusCode,我应该向用户发送什么?
NotFound或者Badrequest回答似乎不适合这种情况.有任何想法吗 ?
考虑计算单词中特定字母的出现次数.
我想出了这个解决方案.
string a = "aabbcdc"; //Output: a:2,b:2,c:2,d:1
var dict = new Dictionary<char, int>();
foreach(var @char in a)
{
if(dict.ContainsKey(@char))
dict[@char] = dict[@char] + 1;
else dict.Add(@char, 1);
}
foreach(var keyValuePair in dict)
Console.WriteLine("Letter = {0}, Value = {1}", keyValuePair.Key, keyValuePair.Value);
Run Code Online (Sandbox Code Playgroud)
我的朋友认为这个解决方案可以使用Arrays进一步改进,因为它们比使用上面的Dictionary更好.
我猜,字典查找是O(1)(数组也是O(1),对吗?).任何想法如何使用表现更好的数组重写程序?
我知道我们可以使用构造函数链从其他构造函数调用参数化构造函数.
但,
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
var t1 = new T1("t2");
}
}
public class T1
{
public T1()
{
Console.WriteLine("t1");
}
public T1(string s):base()
{
Console.WriteLine(s);
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎没有调用基础构造函数(没有任何参数).
有任何想法吗 ?
编辑:
当前:打印t2.t1不在控制台上.
所以,我采用了以下方法:
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
var t1 = new T1("t2");
}
}
public class T1
{
private void privateMethod()
{
Console.WriteLine("common method");
}
public T1()
{
privateMethod();
}
public T1(string …Run Code Online (Sandbox Code Playgroud) 如何获得class-name与caller info attributes.
我strongly say a no用反射记录类名.
能够使用[CallerMemberName]下面的方法获取方法名称:
private void Log(string logMessage, [CallerMemberName]string callerName = null)
{
if (logger.IsDebugEnabled)
{
logger.DebugFormat("Executing Method = {1};{0}", logMessage, callerName);
}
}
Run Code Online (Sandbox Code Playgroud)
如何class name使用来电者信息属性登录?
c# ×10
.net ×7
.net-4.0 ×1
.net-4.5 ×1
arrays ×1
asp.net ×1
async-await ×1
class ×1
constructor ×1
dictionary ×1
exception ×1
java ×1
oop ×1
range ×1
reflection ×1
unboxing ×1
wpf ×1
xaml ×1